2013-11-01 104 views

回答

2

行情。尝试:

python -c 'import os; print os.environ["PATH"]' 

的壳剥出的单引号的命令获取到Python之前,你可以用下面的命令来查看:

echo 'import os; print os.environ['PATH']' 

(事实上,你可以通过见语法着色这里有些奇怪的事情将会发生。)

现在,为什么会发生这种情况?围绕PATH的单引号会结束一个字符串并开始一个新字符串。从本质上讲,外壳解析它为以下三个字符串(尽管不换行):

import os; print os.environ[ 
PATH 
] 

而这正是被传递到Python,它认为PATH作为变量名,并正确地抱怨你的天堂”没有定义它。请参阅man bash。 (严格来说,“我怎样使用我的shell?”并不是Python问题,甚至是编程问题。)