【发布时间】:2009-06-30 15:19:13
【问题描述】:
有谁知道 := 的用途是什么?
我试过谷歌搜索,但似乎谷歌过滤了所有符号?
我知道下面的内容类似于检查变量 HOME 是否为目录,然后某些内容不等于空字符串。
if [ "${HOME:=}" != "" ] && [ -d ${HOME} ]
【问题讨论】:
标签: bash scripting colon-equals
有谁知道 := 的用途是什么?
我试过谷歌搜索,但似乎谷歌过滤了所有符号?
我知道下面的内容类似于检查变量 HOME 是否为目录,然后某些内容不等于空字符串。
if [ "${HOME:=}" != "" ] && [ -d ${HOME} ]
【问题讨论】:
标签: bash scripting colon-equals
${parameter:=word}如果参数未设置或为空,则将单词的扩展分配给 范围。参数的值为 然后替换。位置 参数和特殊参数可以 不会以这种方式分配给。
基本上,当且仅当parameter 未设置或为空时,它会将word 的值分配给parameter。
【讨论】:
来自 Bash 手册页:
分配默认值。如果 参数未设置或为空,则 词的扩展分配给 范围。参数值 然后被替换。位置 参数和特殊参数可以 不会以这种方式分配到。
手册页是一个很棒的东西。 man bash 会告诉你几乎所有关于 Bash 的信息。
【讨论】: