Bash中$ {1:-0}的含义是什么?

时间:2018-02-09 05:29:38

标签: bash shell

我似乎在example 9-14

$ echo ${1:-0}
$ 0
$ echo ${2:-32767}
$ 32767

所以我无法理解......

2 个答案:

答案 0 :(得分:3)

the Bash Reference Manual, §3.5.3 "Shell Parameter Expansion"

  

${parameter:-word}

     
    

如果参数未设置或为null,则替换 word 的扩展。否则,参数的值将被替换。

  

所以,例如,这个脚本:

echo "${foo:-1}"
foo=2
echo "${foo:-3}"
foo=
echo "${foo:-4}"

打印

1
2
4

答案 1 :(得分:1)

语法为${var:-$DEFAULT}。这意味着如果未设置变量或null,请使用默认值。