如果未设置变量,则使用${parameter:-word}
参数扩展的形式评估为默认值时,引号的最佳做法是什么?
例如,假设一个带有-u
set 的 Bash shell 脚本(在评估未定义或未设置的变量时生成错误),以测试变量是否具有值,编写等价物的最佳方法是if [[ -z "$FOO" ]]
什么?
if [[ -z "${FOO:-}" ]]
或者
if [[ -z ${FOO:-""} ]]
或者是其他东西?
如果未设置变量,则使用${parameter:-word}
参数扩展的形式评估为默认值时,引号的最佳做法是什么?
例如,假设一个带有-u
set 的 Bash shell 脚本(在评估未定义或未设置的变量时生成错误),以测试变量是否具有值,编写等价物的最佳方法是if [[ -z "$FOO" ]]
什么?
if [[ -z "${FOO:-}" ]]
或者
if [[ -z ${FOO:-""} ]]
或者是其他东西?