如何以简洁,惯用的方式为bash变量设置默认值?这看起来很难看:
if [[ ! -z "$1" ]]; then
option="$1"
else
option="default"
fi
Run Code Online (Sandbox Code Playgroud)
您可以使用:
option=${1:-default}
Run Code Online (Sandbox Code Playgroud)
如果给出了第一个命令行参数且不为空,则这会将选项设置为第一个命令行参数。否则,它将选项设置为默认值。有关参数扩展和此形式的一些有用变体的详细信息,请参阅Bash 参考手册。
default value : ${parameter:-word} \
assign default value : ${parameter:=word} |_ / if unset or null -
error if empty/unset : ${parameter:?mesg} | \ use no ":" for unset only
use word unless empty/unset : ${parameter:+word} /
Run Code Online (Sandbox Code Playgroud)