在 bash 脚本中,我分配一个局部变量,以便该值取决于外部全局环境变量 ( $MYAPP_ENV
)。
if [ "$MYAPP_ENV" == "PROD" ]
then
[email protected]
else
[email protected]
fi
有没有更短(但干净)的方式来编写上述作业?(大概使用某种条件运算符/内联 if。)
答案1
您还可以使用案例/开关来bash
执行此操作:
case "$MYAPP_ENV" in
PROD) SERVER_LOGIN="[email protected]" ;;
*) SERVER_LOGIN="[email protected]" ;;
esac
或者这个方法:
[ "$MYAPP_ENV" = PROD ] &&
[email protected] ||
[email protected]
答案2
尝试:
[ condition ] && var=value_when_true || var=value_when_false
如果您的分配是数字,您可以使用bash
三元运算:
(( assign_condition ? value_when_true : value_when_false ))
答案3
您可以使用&&
和||
运算符
[ "$MYAPP_ENV" == "PROD" ] && [email protected] || [email protected]