Bashで宣言を使用して変数セットを設定解除する方法

Bashで宣言を使用して変数セットを設定解除する方法

以下があるとしましょう。

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"

おすすめ記事