【发布时间】:2017-01-10 19:26:55
【问题描述】:
我正在编写一个 shell 脚本。在这个 shell 脚本中,我有一个变量,它要么采用默认值,要么采用环境变量的值。但是,环境变量不一定要存在。
例如,假设在运行脚本之前,我执行了以下操作:
export DEPLOY_ENV=dev
我如何告诉脚本搜索此环境变量,并将其值存储在脚本内的变量中。另外,如何告诉脚本如果这个环境变量不存在,就存储一个默认变量?
【问题讨论】:
-
printenv DEPLOY_ENV应该这样做 -
我试过了,出于测试目的 tempV=$(printenv LANG) 它没有打印任何东西,尽管系统具有 LANG 的值
-
您的声明没有“打印”任何内容。它将环境变量
LANG的值存储到shell 变量tempV中。至于此线程中的其他建议:请注意,没有它们,您可以区分您是否有环境变量或shell变量。如果这种区别真的很重要,应该考虑@sjsam 建议的解决方案。