bash (3.00) シェル スクリプトには、変数が設定されていない場合にデフォルトを割り当てる変数のテストが多数あります。例:
if [ -z "${VARIABLE}" ]; then
FOO='default'
else
FOO=${VARIABLE}
fi
これを 1 行で実行するための構文、たとえば三項演算子のようなものがあったように思います。
FOO=${ ${VARIABLE} : 'default' }
(それがうまくいかないことはわかっていますが...)
私は気が狂っているのでしょうか、それともそのようなものが存在するのでしょうか?
ベストアンサー1
実際、あなたが投稿したものと非常に近いです。Bashパラメータ拡張これを達成するために。
割り当てられた値を取得する場合、またはdefault
値が欠落している場合は、次のようにします。
FOO="${VARIABLE:-default}" # FOO will be assigned 'default' value if VARIABLE not set or null.
# The value of VARIABLE remains untouched.
同じことを行うには、次のように割り当てdefault
ますVARIABLE
。
FOO="${VARIABLE:=default}" # If VARIABLE not set or null, set it's value to 'default'.
# Then that value will be assigned to FOO