以下があるとしましょう。
foo=hello
declare -n bar=foo
echo $bar
# hello
クール。
今明細書をキャンセルしたいですbar
。
unset bar
declare -p bar
# declare -n v="foo"
declare -p foo
# bash: declare: foo: not found
を使用して生成された変数を設定解除するにはdeclare -n
?
答え1
よくあるように、Stack Exchangeは素晴らしいゴム製のアヒルの仕事をし、解決策を見つけました。
foo=hello
declare -n v=foo
unset -n v # <-- here's the magic
declare -p v
# bash: declare: v: not found
declare -p foo
# declare -- foo="hello"