我正在尝试执行shell命令,然后使用shell脚本将输出保存到变量中。所以我使用这样的反引号:
out=`ls -l`
print $out
代码工作正常,我可以将它用于任何其他shell命令,但是当我尝试'python --version'来检查python版本时。我有一个奇怪的问题。反引号不适用于“python --version”命令,当它与任何其他命令一起正常工作时,它将输出打印到屏幕并且不向变量$ out保存任何内容。所以,如果我这样做:
out =`python --version`
print "my python version is "$out
结果:
Python 2.6.1
my python version is
我也尝试使用$()替换反引号,但没有运气。有什么想法吗?
答案 0 :(得分:10)
你的等号前有一个空格:
out =`python --version`
应该是:
out=`python --version`
<强>更新强>
python也将版本字符串输出到stderr,因此您需要将其重定向到stdout:
out=`python --version 2>&1`