【发布时间】:2011-01-02 01:58:18
【问题描述】:
我在 bash (3.00) shell 脚本中对变量进行了一大堆测试,如果没有设置变量,那么它会分配一个默认值,例如:
if [ -z "${VARIABLE}" ]; then
FOO='default'
else
FOO=${VARIABLE}
fi
我似乎记得有一些语法可以在一行中执行此操作,类似于三元运算符,例如:
FOO=${ ${VARIABLE} : 'default' }
(虽然我知道那行不通……)
我是疯了,还是有类似的事情存在?
【问题讨论】:
-
shell 参数扩展部分的 bash shell 参考是一个很好的起点:tiswww.case.edu/php/chet/bash/bashref.html#Shell-Expansions。
-
Shell Parameter Expansion 的 Gnu.org 文档(提示:您还可以做很多其他很酷的事情!)