假设我有一个脚本正在执行:
some-command "$var1" "$var2" ...
而且,在var1
为空的情况下,我希望将其替换为空字符串而不是空字符串,以便执行的命令为:
some-command "$var2" ...
并不是:
some-command '' "$var2" ...
有没有比测试变量并有条件地包含它更简单的方法了?
if [ -n "$1" ]; then
some-command "$var1" "$var2" ...
# or some variant using arrays to build the command
# args+=("$var1")
else
some-command "$var2" ...
fi
在bash,zsh等中,是否有参数替换无法扩展为空?我可能仍想在其余参数中使用globing,因此禁用该选项并取消引用该变量不是一种选择。
man
?(-;