在UNIX中更改环境变量

时间:2009-09-26 06:16:17

标签: unix

如果我们在一个流程中更改环境变量,那么更改是否也反映在其他正在运行的流程中?

3 个答案:

答案 0 :(得分:4)

没有。每个进程都有自己的环境变量副本。子进程可以从其父进程继承环境变量,但这些是副本,因此如果父类的版本被修改,则不会更改。

答案 1 :(得分:2)

没有。更改仅传递给子进程,并且仅在更改后启动。来自Wikipedia

  

在所有Unix和类Unix系统中,每个进程都有自己的一组私有环境变量。默认情况下,创建进程时,它会继承其父进程的重复环境,但父进程在创建子进程时所做的显式更改除外。

答案 2 :(得分:1)

通过. *filename* [*args*]调用shell脚本时出现异常 或source *filename* [*args*]语法。在这些子进程脚本中对环境所做的任何更改也会反映在原始环境中。