变量是存储在特定内存位置中的基本构建块,对变量执行的任何操作都会影响该内存位置。存储在变量中的值可以在程序执行期间更改或删除。环境变量是在程序中全局设置其值的变量,并且可以被子 Shell 继承。在本文中,我们将探索可用于在 Shell 中删除已导出环境变量的不同方法。
本地环境变量 vs 用户环境变量 vs 系统级环境变量
- 本地环境变量:这些变量特定于当前会话,当会话结束时可能会丢失。
- 用户环境变量:用户配置文件定义了用户环境变量。当用户登录时,它们总是从主目录加载。
- 系统级变量:适用于整个系统而不仅仅是一个会话或用户的变量被称为系统级变量。例如,它们可能是适用于所有用户的通用变量。
使用 Export 命令创建变量
我们将使用 Export 命令首先创建一个环境变量。
export message="Hello from GeeksforGeeks"
使用 env 命令,我们将检查该环境变量。
env | grep message
在 Shell 中有多种清除已导出环境变量的方法,以下是其中的一些方法的解释:
方法 1:通过赋空值来清除已导出变量的值
注意: 使用这种方法,我们无法从环境中删除变量,但我们可以通过赋空值来删除已导出变量的值。
export message=
现在使用 INLINECODEc421203f 命令我们将检查 INLINECODE802d03e4。
env | grep message
您可以看到我们已将空值分配给了 message 变量,因此我们得到了空消息作为输出。
方法 2:使用 Unset 命令删除 Shell 中的已导出环境变量
Unset 命令是一个内置的 Shell 命令,可用于清除已导出变量的值。让我们使用这个命令来删除一个已导出的环境变量,并验证该变量已被删除:
unset message
env | grep message
通过使用 INLINECODE103f55cc 命令,我们删除了 INLINECODE44cb9d71 变量。
方法 3:使用 env 命令清除已导出变量的值
借助下面的 env 命令,我们可以清除已导出变量的值:
env -i bash
在上面的命令中,我们使用了 -i,它将清除用户导出的变量并使用默认值启动一个新的 Bash 会话。
要检查变量是否存在于旧的 bash 会话中,请运行以下命令:
exit
env | grep message
结论
总之,环境变量对于在 Shell 中存储全局值至关重要。我们探索了管理它们的方法:使用 ‘export‘ 赋空值,使用 ‘unset‘ 删除它们,以及使用 ‘env‘ 重置它们。这些技术对于高效的 Shell 脚本和系统配置至关重要,能够授予对类 Unix 环境中进程和应用程序的控制权。掌握这些方法使我们能够根据 Shell 编程和系统管理的不同需求有效地操作环境变量。