在python shell中,使用
import os
print os.environ
打印完整的环境变量列表,没有任何遗漏。但是当我用文件名调用解释器时:
sudo python file.py
并使用
import os
print os.environ
我看到dict中缺少一些环境变量。
他们为什么表现不一样?
操作系统:Ubuntu 14.04
答案 0 :(得分:1)
我意识到差异是因为我在第二次执行期间使用sudo而没有保留环境。我需要补充一下 那些环境变量到我的sudoers文件或在执行期间保留它们。
答案 1 :(得分:1)
我看到这种情况发生在使用bash中的 export 设置 not 而不设置ENV Vars的时候,因此它们没有传播到python脚本。
答案 2 :(得分:0)
您是否尝试使用 export
关键字,例如
export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"