1

在我们使用的 shell 脚本中

export VAR1=${VAR1:-KK}

export DATE=${DATE:=$(cat ${DATEDIR}/today_date)}

我在很多脚本中都看到了这一点。

请向我解释或参考一个很好的链接,了解为什么使用:-:=正在使用它以及应该在哪里使用它。

4

1 回答 1

1

从手册页的Parameter expansion部分:bash

${parameter:-word} 使用默认值。如果参数未设置或为空,则替换单词的扩展。否则,参数的值被替换。

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

参数扩展期间还有许多其他选项,请参阅所有选项的手册页。

于 2013-04-04T09:16:28.067 回答