<分区>
我正在编写一个 shell 脚本。在这个 shell 脚本中,我有一个变量,它要么采用默认值,要么采用环境变量的值。但是,环境变量不必存在。
例如,假设在运行脚本之前,我执行了以下操作:
export DEPLOY_ENV=dev
如何告诉脚本搜索此环境变量,并将其值存储在脚本内的变量中。而且,如果这个环境变量不存在,我如何告诉脚本,存储一个默认变量?
<分区>
我正在编写一个 shell 脚本。在这个 shell 脚本中,我有一个变量,它要么采用默认值,要么采用环境变量的值。但是,环境变量不必存在。
例如,假设在运行脚本之前,我执行了以下操作:
export DEPLOY_ENV=dev
如何告诉脚本搜索此环境变量,并将其值存储在脚本内的变量中。而且,如果这个环境变量不存在,我如何告诉脚本,存储一个默认变量?
最佳答案
[ -z "${DEPLOY_ENV}"]
检查 DEPLOY_ENV
的长度是否等于零。所以你可以运行:
if [[ -z "${DEPLOY_ENV}" ]]; then
MY_SCRIPT_VARIABLE="Some default value because DEPLOY_ENV is undefined"
else
MY_SCRIPT_VARIABLE="${DEPLOY_ENV}"
fi
# or using a short-hand version
[[ -z "${DEPLOY_ENV}" ]] && MyVar='default' || MyVar="${DEPLOY_ENV}"
# or even shorter use
MyVar="${DEPLOY_ENV:-default_value}"
关于bash - 如何检查环境变量是否存在并获取其值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39296472/