mok*_*ebe 2 python unix bash python-2.7
在ubuntu终端中执行以下命令我有预期的结果:
$export number=3
echo $number ###3
$python
>>>import os
>>>print(os.environ['number']) ###prints 3
Run Code Online (Sandbox Code Playgroud)
同时:
$python -c 'import os;print(os.environ['number'])'
结果:NameError:未定义名称'number'.
为什么?是否可以使用python -c获取env变量?
确保更改双引号的单引号(至少是外部引号)以避免出现此问题
python -c "import os;print(os.environ['number'])"
3
工作正常,因为我的单引号在双引号内.
编辑:您的示例的问题不在于您在Python中使用单引号,问题是它是您的shell解释这些单引号.
从bash手册页:
单引号之间可能不会出现单引号,即使前面有反斜杠也是如此.