小编典典

bash分配默认值

all

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

我以为我可以使用此功能来编写${LONG_VARIABLE_NAME:=hello}而不是 long
LONG_VARIABLE_NAME=${LONG_VARIABLE_NAME:-hello},但现在 bash 也尝试执行 ‘hello’
并且给出了一个找不到命令。有什么办法可以避免吗?还是我必须坚持后者?有人可以举一个分配默认值实际上有用的例子吗?


阅读 67

收藏
2022-08-05

共1个答案

小编典典

使用冒号:

: ${A:=hello}

冒号是一个空命令,它什么都不做并且忽略它的参数。它内置在 bash 中,因此不会创建新进程。

2022-08-05