在Debian(以及其他类Unix系统)中,env
和export
命令都与环境变量有关,但它们的功能和用途是不同的。
env
命令:
env
命令用于显示当前用户的环境变量。它会列出所有当前设置的环境变量及其值。这个命令通常用于调试或查看环境变量的当前状态。例如,运行env
将显示类似以下内容的输出:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOME=/home/username
LANG=en_US.UTF-8
...
你还可以使用env
命令在一个新的环境中运行一个程序。例如,如果你想在不影响当前shell会话的情况下运行一个程序,可以使用env
来设置所需的环境变量,如下所示:
env VARIABLE_NAME=value program_to_run
export
命令:
export
命令用于设置或修改环境变量。当你使用export
命令设置一个环境变量时,该变量将被添加到当前shell会话的环境变量列表中,并且对在该shell会话中启动的所有子进程都可见。这对于需要在多个程序之间共享的环境变量非常有用。例如,要设置一个名为MY_VARIABLE
的环境变量并将其值设置为my_value
,可以使用以下命令:
export MY_VARIABLE=my_value
请注意,使用export
命令设置的环境变量仅在当前shell会话中有效。如果你打开一个新的shell会话,之前设置的变量将不再存在。要永久设置环境变量,你需要将其添加到shell配置文件(如~/.bashrc
或~/.profile
)中。
总之,env
命令用于查看环境变量,而export
命令用于设置或修改环境变量。