Shell脚本,用于检查环境变量值的if语句
我有一个shell脚本需要更改,以便只在环境变量的值为Shell脚本,用于检查环境变量值的if语句,shell,environment-variables,Shell,Environment Variables,我有一个shell脚本需要更改,以便只在环境变量的值为true时才工作。变量将来自Heroku,如果这很重要的话 我的脚本看起来像: if [[ $SANDBOX_SITE = "true" ]] then *run existing script* else exit fi 我可以看到环境变量出现在printenv中,我通过heroku run bash--app*appname*运行脚本,因此我知道它在正确的shell中。 如有任何提示或建议,将不胜
true
时才工作。变量将来自Heroku,如果这很重要的话
我的脚本看起来像:
if [[ $SANDBOX_SITE = "true" ]]
then
*run existing script*
else
exit
fi
我可以看到环境变量出现在printenv
中,我通过heroku run bash--app*appname*
运行脚本,因此我知道它在正确的shell中。
如有任何提示或建议,将不胜感激
*编辑我忘了添加,脚本每次都会退出。您可能忘了导出环境变量。环境变量可能存在于当前shell中,但如果未导出,则子shell将无法使用该环境变量。使用:
export SANDBOX_SITE="true"
我从来没有使用过Heroku,但是快速浏览一下文档意味着您需要显式地设置所需的env变量。例如,
heroku运行bash--env SANDBOX\u SITE=$SANDBOX\u SITE--app appname
。或者,可能通过heroku config:set
命令
请参见执行此脚本时会发生什么?@LasseV.Karlsen每次都会退出。我还在if的每个部分中放置了一些
echo
,即使heroku上存在变量,它也肯定会退出。