aluckdog
:-在${parameter:-word} 壳参数展开*如果parameter为空或未设置,则扩展为word,否则其价值为parameter.例子:$ str=$ echo "${str:-default}"default和类似的扩展使用:=, :+和:?所有的食物都有两种味道:有结肠的也有没有结肠的。不同之处在于带着冒号输入为“NULL”。或未设定“,鉴于无冒号,它只是“NULL”。观察:$ str= # Null, but not unset$ echo "${str-default}"
# Expands to value of $str, the empty string$ echo "${str:-default}" # Expands to "default"default这在哪里有用?有几个例子:默认值调用编辑器来编辑最后一个命令。fc是扩张的结果${FCEDIT:-${EDITOR:-vi}}: $FCEDIT如果被定义了,否则$EDITOR如果被定义了,否则vi.脚本中的循环,如果作为参数提供,则应该从文件中读取,否则从标准输入中读取,则如下所示:while IFS= read -r line; do
# do somethingdone