条件付きコマンドラインエクスポート変数

条件付きコマンドラインエクスポート変数

走れば

export COMMAND=nonexistentcommand && which $COMMAND >/dev/null || \
(echo "download filewithcommand.sh" && export COMMAND=./filewithcommand.sh)

echo "command: $COMMAND"

わかりました。

download filewithcommand.sh
command: nonexistentcommand

しかし、私の考えはそうするべきだと思います。

download filewithcommand.sh
command: ./filewithcommand.

この文章に問題がありますか?

ベストアンサー1

COMMANDに設定すると、nonexistentcommandこれが出力されます。正常。

異なる値を設定COMMANDしますが、これは子シェル(括弧で囲まれている)にあるため、親シェルの環境には影響しません。括弧の代わりに(サブシェルを分岐せずに)中括弧を{使用することを意味しますか?}()

おすすめ記事