在ubuntu终端中执行以下命令我有预期的结果:
$export number=3
echo $number ###3
$python
>>>import os
>>>print(os.environ['number']) ###prints 3
同时:
$python -c 'import os;print(os.environ['number'])'
结果:NameError:name' number'没有定义。
为什么呢?是否可以使用python -c获取env变量?
答案 0 :(得分:5)
请务必更改双引号的单引号(至少是外部引号)以避免出现此问题
python -c "import os;print(os.environ['number'])"
3
工作正常,因为我的单引号在双引号内。
编辑:您的示例的问题不在于您在Python中使用单引号,问题在于您的shell正在解释这些单引号。
来自bash手册页:
单引号之间可能不会出现单引号,即使前面有反斜杠也是如此。