linux环境变量使用python永久添加

时间:2016-08-03 11:24:51

标签: python linux environment-variables

我正在尝试使用从python脚本加载的bash脚本更新linux环境变量

1.-我删除它:

del os.environ['USER']

2.-我使用命令lib:

运行bash脚本
status, output = commands.getstatusoutput('. ' + PATH +'/script.sh')

2.1.- status = 0;输出='环境变更更新'

所以..直到这里,一切似乎都运转正常

3.-但是当我尝试测试var已经更新时:

print os.environ['USER']

我得到以下输出:

KeyError: 'USER'

2 个答案:

答案 0 :(得分:1)

环境由子进程从其父进程继承;更具体地说,父进程为子进程创建一个环境,默认情况下它与父进程相同。

任何流程都无法修改任何其他现有流程的环境。

答案 1 :(得分:1)

os.environ 您的环境,但它是第一次导入os模块时创建的环境的表示形式。根据{{​​3}},某些平台会反映流程环境中os.environ的变化。由于您运行子流程来更改环境,因此会对子流程进行更改,而不是对运行Python代码的流程进行更改。

无法在其父流程环境中反映流程环境的变化。