Bash set -u 允许单个未绑定(bind)变量

标签 bash variables

使用 bash,您可以允许 set -e 使特定命令失败,例如:

someCommandThatProbablyFails || true

set -u 有什么可以允许特定变量解除绑定(bind)的吗?

具体来说,我正在做类似的事情:

if [ -n "${1}" ]; then
    SOMEVAR="${1}"
else
    SOME_STUFF_TO_DETERMINE_SOMEVAR
fi

在这种情况下,如果没有从命令行向脚本传递任何内容,则 "${1}" 会触发未绑定(bind)变量错误。

最佳答案

您可以使用空字符串作为 default对于这样一个未设置的变量:

${POSSIBLY_UNSET_VARIABLE-}

关于Bash set -u 允许单个未绑定(bind)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28039372/

相关文章:

jquery - 将 jQuery 表单数据传递给 js 变量

linux - 无法从包含句点的参数中获取 "touch"文件

linux - 如何从另一个脚本的文件夹中获取多个 bash 脚本,以便我可以使用这两个脚本中的函数?

bash - 用随机数替换 Bash 目录中每一行、每个文件中的字符串

linux - 从 tar 文件中提取特定目录而不创建包含层次结构

r - R 中的模型语法 : how to input dynamic variables?

Linux Bash ... 如果时间 > 20 :00 then echo 'hello' fi

c - 声明说明符和声明符

JavaScript 变量定义 : Commas vs. 分号

javascript - 在 highcharts 系列中传递 3 个值