-3

bashスクリプトを作成していて、パラメーターに構成ファイルを使用することを選択した場合。コマンドラインからパラメーターを渡すことはできますか?同じコマンドで両方を実行できますか?

骨抜きにされたコード:

#!/bin/bash 

source builder.conf 
function xmitBuildFile { 
    for IP in "{SERVER_LIST[@]}" 
    do 
        echo $1@$IP 
    done 
} 
xmitBuildFile

builder.conf:

SERVER_LIST=( 192.168.2.119 10.20.205.67 )

$bash> ./builder.sh myname

期待される出力はとであるはずですがmyname@192.168.2.119、コマンドラインで「myname」を渡した場合でも、を実行すると0になります。myname@10.20.205.67$ echo $#

4

2 に答える 2

0

はい、できます。さらに、それはスクリプトのアーキテクチャに依存します。パラメータをconfigの値で上書きしたり、その逆を行うことができます。

ちなみに、shflagsはそのようなスクリプトを書くのにかなり役立つかもしれません。

于 2012-07-03T17:46:10.390 に答える
0

「構成ファイル」は、次のように、メイン スクリプト (通常はいくつかの変数の定義を含む) に供給される単なるシェルの一部であると仮定します。

. /etc/script.conf

もちろん、位置パラメータはどこでも使用できます (「./etc/...」の前後):

echo "$@"
test -n "$1" && ...

スクリプトまたはまったく同じ構成ファイルでそれらを定義することもできます。

test $# = 0 && set -- a b c
于 2012-07-03T18:22:41.607 に答える