我试图在变量PYVER中捕获bash命令PYVER="$(python --version)"
的输出。出于某种原因,它似乎不起作用,因为当我使用echo "$PYVER"
检查时,它不返回任何内容(空白行)。通过我的bash脚本(我是新手),我尝试以这种格式捕获其他输出并且它已经工作了。如果有人能找到我的错误,我将非常感激。
答案 0 :(得分:3)
因为python将版本写入stderr,这应该可以工作:
PYVER=$(python --version 2>&1)
echo $PYVER
答案 1 :(得分:1)
我认为问题是python --version将它的输出发送到stder,而不是stdout。 下面的重定向似乎可以做你想要的。
$PYVER="$(python --version 2>&1 > /dev/null)"
$echo $PYVER
$Python 2.7.10