0

環境変数が定義されている場合、使用するコマンドが環境変数で指定されている bash を書き込もうとしています。次のようにします。

if [ -z $MY_DIFF ];
then
    echo Using standard diff $(which diff), change MY_DIFF env variable to use a different one.
    echo $(which diff)
    $diffv=$(which diff)
else
    $diffv=$MY_DIFF
fi

$diffv c.xml c2.xml

しかし、私は得ています:

./bash.sh: line 10: =/opt/gnu/bin/diff: No such file or directory
./bash.sh: line 13: c.xml: command not found

ファイルが存在すると確信しており、実行する権限があります。何が問題なのかわかりますか?

4

1 に答える 1

3

割り当て$前に余分なものを削除します。diffv使用する:

diffv=$(which diff)

と:

diffv=$MY_DIFF

あなた$が得ると:

<diffv value, empty>=<MY_DIFF value, or which diff>
=/opt/gnu/bin/diff
于 2013-08-02T16:33:29.413 に答える