os.environ不包含HOST变量

时间:2011-03-30 11:59:38

标签: linux shell posix

在Linux下,os.environ不包含HOST环境变量的原因可能是什么,除了我为解释器环境明确设置它?

> echo $HOST; python -c 'import os; print "HOST" in os.environ'
bbox
False
> echo $HOST; HOST=$HOST python -c 'import os; print "HOST" in os.environ'
bbox
True

编辑:感谢您向export提出的建议,但为什么大多数其他变量都可用,例如USER, PS1, LANG,...而没有明确导出它们?

2 个答案:

答案 0 :(得分:3)

这意味着您在shell中定义了一个名为HOST的变量,但尚未将其导出。

试试这个:

export HOST

环境变量不会传递给子进程,除非它们以这种方式导出。

答案 1 :(得分:2)

在shell中设置变量不会使子进程可用;你也必须导出变量。

$ export HOST
$ python ...