![如何在 bash 中使用声明取消设置变量集](https://linux22.com/image/178126/%E5%A6%82%E4%BD%95%E5%9C%A8%20bash%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%A3%B0%E6%98%8E%E5%8F%96%E6%B6%88%E8%AE%BE%E7%BD%AE%E5%8F%98%E9%87%8F%E9%9B%86.png)
假设我有以下内容:
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"