我在some documentation中看到了这一点。但它似乎没有做任何事......
~ $ echo $DYNO
run.9917
~ $ echo ${DYNO}
run.9917
~ $ echo ${DYNO:-1}
run.9917
:-1
做了什么?
答案 0 :(得分:2)
${DYNO:-1}
表示如果DYNO
存在且不为null,则返回其值;否则返回1
。变量名称与:-
内的默认值之间的{}
可以实现此目的。
答案 1 :(得分:1)
Shell Parameter Section of the Bash Reference Manual。
中介绍了这一点 "${var:-1}"
表示如果已定义,则展开名为var
的参数,如果没有,则展开1
。
其他类似的扩展:
"${var: -1}"
表示从最后一个字符展开var
的子字符串。"${var:=1}"
表示如果1
未定义var
,则无论如何都要扩展参数。示例:
$ x=hi y=
$ echo "${x:-1}" "${x: -1}" "${y:-2}"
hi i 2
答案 2 :(得分:0)
${var:-word}
如果var
为空或未设置,word
将替换为var
。 var
的值不会改变。
$> echo "${bar:-1}"
$> 1
$> bar=3
$> echo "${bar:-1}"
$> 3
$> echo "${bar-1}"
$> 3