私はbashを使用しています。環境変数を設定するライナーは存在しない場合は1つ、それ以外の場合は
それはすでによう設定されている場合、私はどちらか追加したい環境変数があります:
PATH=$PATH":/path/to/bin"
は、あるいはそうでない場合は、すでに私は単にそれを設定したい存在:
PATH="/path/to/bin"
これを行うには1行の文がありますか?
明らかに、PATH
環境変数はほとんど常に設定されていますが、この質問を書くのが最も簡単でした。
私はbashを使用しています。環境変数を設定するライナーは存在しない場合は1つ、それ以外の場合は
それはすでによう設定されている場合、私はどちらか追加したい環境変数があります:
PATH=$PATH":/path/to/bin"
は、あるいはそうでない場合は、すでに私は単にそれを設定したい存在:
PATH="/path/to/bin"
これを行うには1行の文がありますか?
明らかに、PATH
環境変数はほとんど常に設定されていますが、この質問を書くのが最も簡単でした。
PATH=${PATH}${PATH:+:}/path/to/bin
${PATH}
PATH
が空/設定されていない場合は、PATHが設定されていない場合は、それ以外の場合は、現在のパスに評価さ${PATH:+:}
がそうでなければ、それが評価され、何に評価され、何にも評価され「:」マイケルバーの答えが少し改善しました。これは、同様に(set -o nounset
)set -u
で動作します:それはやや明確であるよう
PATH=${PATH:+$PATH:}/path/to/bin
これに相当するcshとは何ですか? – Spade
この回答を好みます。ありがとう – Cheetah
この構文はシェルパラメータ拡張と呼ばれ、この機能に関する完全なドキュメントは[man page](https://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-拡張)。 – davidjb
'setenv'でこれに相当するcshは何ですか? – Spade