【发布时间】:2015-08-07 21:22:37
【问题描述】:
需要检查 python 的版本,所以我在脚本中点击这个命令。 我正在尝试将给定命令的输出存储在变量“x”中。这样我就可以在进一步的脚本中使用这个 x。 但是当我尝试打印 x 时,它显示的是空值(无值)。
[bin]$x=`/path/thirdparty/python/2.7/bin/python2.7 -V`
Python 2.7.8
[bin]$echo x
请帮我将命令的值存储在变量中。
【问题讨论】:
需要检查 python 的版本,所以我在脚本中点击这个命令。 我正在尝试将给定命令的输出存储在变量“x”中。这样我就可以在进一步的脚本中使用这个 x。 但是当我尝试打印 x 时,它显示的是空值(无值)。
[bin]$x=`/path/thirdparty/python/2.7/bin/python2.7 -V`
Python 2.7.8
[bin]$echo x
请帮我将命令的值存储在变量中。
【问题讨论】:
python -V 写入标准错误,而不是标准输出。所以你必须将 STDERR (2) 重定向到 STDOUT (1)。
$ x=$({python -V} 2>&1)
$ echo $x
Python 2.7.6
【讨论】:
嗯...输出可能写入stderr,而不是stdout。试试这个:
x=`/path/thirdparty/python/2.7/bin/python2.7 -V 2>&1`
【讨论】: