bash 3またはbash 4のデフォルト変数

bash 3またはbash 4のデフォルト変数

私はこれを持っています:

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}"

関連情報