为了节省多次键入相同短语的时间,我在BASH中定义了一些变量(不是bash文件,只是命令行bash)。我是多么粗心地给出一个变量错误的名称foo1
而不是foo
。所以,我想取消定义foo1
。
我知道我可以设置foo1
为空并定义foo
。通过这样做,foo1
仍然存在,可能会混淆。我无法使用unset
取消定义foo1
,因为它不是环境变量。
问题:如何在BASH中取消定义变量?
答案 0 :(得分:8)
您只需使用命令unset
:
unset foo1
foo1
不是环境变量并不重要。
答案 1 :(得分:2)
作为@BroSlow评论,是的,您将使用unset
:
$ foo1=something
$ foo="something else"
$ set | grep ^foo
foo='something else'
foo1=something
$ unset foo1
$ set | grep ^foo
foo='something else'
答案 2 :(得分:0)
您可以使用set -u
以“尝试使用未定义的变量输出错误消息,并强制退出”。
或者将-u
添加到shebang行,如下所示:
#!/usr/bin/bash -u