我有这个:
local v="${name-$tag}" # default is name, tag is backup
除非名称为空时它不起作用。因此,实现这一目标的长远之路是:
local v="$name";
if [[ -z "$v" ]]; then
v = "$tag"
fi
有没有一种简写方法可以做到这一点?
答案1
${variable-alternate value}
如果设置了变量,则该构造将使用替代值,但如果将其设置为空字符串(即空白),则不会。如果您想在变量未设置或设置为空字符串时使用备用值,请改用${variable:-alternate value}
(注意冒号):
local v="${name:-$tag}"