私は他の人が書いたいくつかのスクリプト(特にRed Hat)を見てきましたが、それらの変数の多くは次の表記VARIABLE1="${VARIABLE1:-some_val}"
またはいくつかの他の変数VARIABLE2="${VARIABLE2:-`echo $VARIABLE1`}"
を使用して割り当てられています
値を直接宣言するだけでなく、この表記を使用するポイントは何ですか(例:VARIABLE1=some_val
)。
この表記法にはメリットがありますか、それともエラーの可能性はありますか?
:-
はこのコンテキストで特定の意味を持っていますか?
個人的体験。
私は、スクリプトで時々この形式を使用して、値のアドホックな上書きを行います。私が持っている場合:
$ cat script.sh
SOMETHING="${SOMETHING:-something}"; echo "$SOMETHING";
走れる:
$ env SOMETHING="something other than the default value" ./script.sh`
SOMETHING
の元のデフォルト値を変更する必要はありません。