有人知道:=是什么吗?
我尝试过谷歌搜索,但似乎谷歌会过滤所有的符号?
我知道下面这段代码大概是检查变量HOME是否为目录,然后判断它不等于空字符串。
if [ "${HOME:=}" != "" ] && [ -d ${HOME} ]
有人知道:=是什么吗?
我尝试过谷歌搜索,但似乎谷歌会过滤所有的符号?
我知道下面这段代码大概是检查变量HOME是否为目录,然后判断它不等于空字符串。
if [ "${HOME:=}" != "" ] && [ -d ${HOME} ]
${parameter:=word}
如果parameter未设置或为空,则将word的扩展分配给parameter。然后替换parameter的值。无法以这种方式分配位置参数和特殊参数。
基本上,只有在parameter未设置或为空时,才会将word的值分配给parameter。
来自 Bash 手册页面:
分配默认值。如果参数未设置或为空,则将单词的扩展分配给参数。然后替换参数的值。无法以此方式分配位置参数和特殊参数。
手册页是一件美妙的事情。man bash
几乎可以告诉您有关Bash的所有信息。