外壳脚本不能保存从命令行成可变输出(shell script can not save output

2019-09-17 02:06发布

我想要做的shell命令,然后使用shell脚本输出保存到变量。 所以我用这样的反引号:

out=`ls -l`
print $out

该代码工作正常,我可以将其用于任何其他shell命令,但是当我尝试做“蟒蛇--version”来检查Python版本。 我得到了奇怪的问题。 倒引号不工作的“蟒蛇--version”命令,而它的正常工作与任何其他命令,它打印输出到屏幕上,并保存无关变量$出来。 所以,如果我做的:

out =`python --version`
print "my python version is "$out

结果:

Python 2.6.1
my python version is 

还我试图用$()来代替反引号,但没有运气。 任何想法 ?

Answer 1:

你有你的空间等号之前:

out =`python --version`

应该:

out=`python --version`

更新

此外蟒蛇输出版本字符串到标准错误,所以你需要将它重定向到stdout:

out=`python --version 2>&1`


文章来源: shell script can not save output from command line into variable