Bash脚本是什么:= for?

时间:2009-06-30 15:19:14

标签: bash scripting colon-equals

有谁知道是什么:= for?

我试过谷歌搜索,但似乎谷歌过滤所有符号?

我知道下面的内容类似于检查变量HOME是否为目录,然后某些内容不等于空字符串。

  if [ "${HOME:=}" != "" ] && [ -d ${HOME} ]

2 个答案:

答案 0 :(得分:24)

来自Bash Reference Manual

  

${parameter:=word}

     

如果参数未设置或为null,则将字的扩展分配给   参数。参数的值是   然后替换。位置   参数和特殊参数可以   不能以这种方式分配。

当且仅当word未设置或为空时,它才会将parameter的值分配给parameter

答案 1 :(得分:1)

来自Bash手册页:

  

指定默认值。如果   参数未设置或为null   扩展单词被分配给   参数。参数的值   然后被替换。位置   参数和特殊参数可以   不能以这种方式分配。

手册页是一件很棒的事情。 man bash会告诉你几乎所有关于Bash的信息。