取消定义BASH中的变量

时间:2014-10-21 15:15:06

标签: linux bash

为了节省多次键入相同短语的时间,我在BASH中定义了一些变量(不是bash文件,只是命令行bash)。我是多么粗心地给出一个变量错误的名称foo1而不是foo。所以,我想取消定义foo1

我知道我可以设置foo1为空并定义foo。通过这样做,foo1仍然存在,可能会混淆。我无法使用unset取消定义foo1,因为它不是环境变量。

问题:如何在BASH中取消定义变量?

3 个答案:

答案 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