set
命令在 Linux 中用于显示或设置 shell 环境变量
-
当前 shell 会话:
set
命令只对当前 shell 会话有效。当你打开一个新的终端窗口或标签页时,之前设置的变量将丢失。要永久保存变量,需要将其添加到配置文件中,如~/.bashrc
、~/.bash_profile
或~/.profile
。 -
配置文件未执行:如果你在配置文件中设置了环境变量,但变量仍然无法持久化,可能是因为配置文件没有被正确执行。请确保在配置文件的末尾添加
source ~/.bashrc
(或相应的配置文件名)以执行该文件。 -
配置文件语法错误:检查配置文件中是否存在语法错误,如拼写错误、缺少分号等。这些错误可能导致配置文件未能正确执行,从而导致环境变量无法持久化。
-
子进程继承问题:在某些情况下,子进程可能无法继承父进程的环境变量。这通常发生在使用
&
符号在后台运行命令时。要解决这个问题,可以在启动子进程之前设置环境变量,或将它们添加到配置文件中。 -
使用了不同的 shell:不同的 shell 可能使用不同的配置文件和环境变量设置方式。如果你在一个 shell 中设置了环境变量,但在另一个 shell 中无法访问它们,可能是因为你使用了不同的 shell。请确保在所有 shell 中使用相同的配置文件和环境变量设置方式。