Bashスクリプトでは、値が外部のグローバル環境変数($MYAPP_ENV
)に依存するように、ローカル変数を割り当てています。
if [ "$MYAPP_ENV" == "PROD" ]
then
[email protected]
else
[email protected]
fi
上記の割り当てを書くためのより短い(まだクリーン)方法はありますか? (おそらく何らかの条件演算子/インラインifを使用しています。)
これを行うには、bash
でケース/スイッチを使用することもできます。
case "$MYAPP_ENV" in
PROD) SERVER_LOGIN="[email protected]" ;;
*) SERVER_LOGIN="[email protected]" ;;
esac
またはこの方法:
[ "$MYAPP_ENV" = PROD ] &&
[email protected] ||
[email protected]
試してください:
[ condition ] && var=value_when_true || var=value_when_false
割り当てが数値の場合、bash
の3項演算を使用できます。
(( assign_condition ? value_when_true : value_when_false ))
&&
および||
演算子
[ "$MYAPP_ENV" == "PROD" ] && [email protected] || [email protected]