在 Linux Shell 中删除导出的环境变量
概述
本文介绍如何从系统中删除环境变量。
环境变量是一种特殊的变量,可供计算机上运行的所有进程使用。此变量的名称为 EXPORTED_VARIABLE。您可以使用它在不同程序之间甚至不同用户之间传递信息。例如,您可能希望导出存储音乐文件的目录路径,以便其他用户轻松访问它们。
环境变量
环境变量存储在进程的内存空间中,可以通过 getenv() 函数访问。该函数返回指向指定环境变量值的指针。如果不存在此类变量,则返回 NULL。
Linux Shell 中导出变量列表
您可以使用 env 命令列出所有当前导出的环境变量。此命令列出当前用户已设置的所有环境变量。
$ env | grep -i '^EXPORT' EXPORTPATH/usr/bin:/usr/local/bin:/home/user1/bin
您可以使用以下命令查看导出的变量列表:-
$ env | grep -i 'EXPORTED_VAR'
使用 unset 命令
unset 命令是一个 Shell 命令,用于清除导出的环境变量的值。这意味着,如果您运行 unset EXPORTED_VARAIBLE,则任何进程都将无法再访问该变量的值。如果要完全删除变量,需要运行 unset -f EXPORTED_VARIABLE。
让我们使用此命令看看是否有任何结果。
$ export file_name="test.txt" $ env | grep file_name file_name=test.txt $ unset file_name $ env | grep file_name
我们通过运行 env 命令来验证变量是否已从 shell 环境中删除。
赋值空值
您可以通过赋值空值来清除导出变量的值。
$ export file_name="test.txt" $ env | grep file_name file_name=test.txt $ export file_name= $ env | grep file_name file_name=
它实际上并没有从环境中删除变量;而是简单地将它们设置为空字符串。
使用 env 命令
env 命令允许我们在修改后的环境中运行程序。然后,我们可以使用此命令重置导出变量的导出状态。
$ export file_name="test.txt" $ env | grep file_name file_name=test.txt $ env -i bash $ env | grep file_name
我们在这里使用了 -i 标志,它会清除用户之前设置的变量,并使用默认值启动另一个 bash shell。
退出新的 bash 会话,并检查环境变量是否存在于旧会话中。
$ exit $ env | grep file_name file_name=test.txt
结论
我们研究了几种导出环境变量以便稍后使用的方法。我们可以使用这些命令行工具来增强 Shell 脚本代码的健壮性。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

