25

有谁知道 := 是什么意思?

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

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

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

2 回答 2

43

来自Bash 参考手册

${parameter:=word}

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

word基本上,parameter当且仅当parameter未设置或为空时,它将分配给的值。

于 2009-06-30T15:21:25.007 回答
2

从 Bash 手册页:

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

手册页是一个很棒的东西。man bash会告诉你几乎所有你想知道的关于 Bash 的信息。

于 2009-06-30T15:22:18.843 回答