有谁知道是什么:= for?
我试过谷歌搜索,但似乎谷歌过滤所有符号?
我知道下面的内容类似于检查变量HOME是否为目录,然后某些内容不等于空字符串。
if [ "${HOME:=}" != "" ] && [ -d ${HOME} ]
答案 0 :(得分:24)
${parameter:=word}
如果参数未设置或为null,则将字的扩展分配给 参数。参数的值是 然后替换。位置 参数和特殊参数可以 不能以这种方式分配。
当且仅当word
未设置或为空时,它才会将parameter
的值分配给parameter
。
答案 1 :(得分:1)
来自Bash手册页:
指定默认值。如果 参数未设置或为null 扩展单词被分配给 参数。参数的值 然后被替换。位置 参数和特殊参数可以 不能以这种方式分配。
手册页是一件很棒的事情。 man bash
会告诉你几乎所有关于Bash的信息。