我试图捕获bash命令的输出

我试图捕获bash命令的输出,bash,Bash,我试图在变量PYVER中捕获bash命令PYVER=“$(python--version)”的输出。由于某些原因,它似乎不像我使用echo“$PYVER”检查时那样工作,它不返回任何内容(空行)。通过我对bash脚本的学习(我是新手),我尝试了用这种格式捕获其他输出,并且成功了。如果有人能发现我的错误,我将不胜感激 由于python将版本写入stderr,因此应该可以: PYVER=$(python --version 2>&1) echo $PYVER 由于python将版本写

我试图在变量PYVER中捕获bash命令
PYVER=“$(python--version)”
的输出。由于某些原因,它似乎不像我使用
echo“$PYVER”
检查时那样工作,它不返回任何内容(空行)。通过我对bash脚本的学习(我是新手),我尝试了用这种格式捕获其他输出,并且成功了。如果有人能发现我的错误,我将不胜感激

由于python将版本写入stderr,因此应该可以:

PYVER=$(python --version 2>&1)
echo $PYVER

由于python将版本写入stderr,因此应该可以:

PYVER=$(python --version 2>&1)
echo $PYVER

我认为问题在于python版本将其输出发送到stder,而不是stdout。 下面的重定向似乎可以满足您的需要

$PYVER="$(python --version 2>&1 > /dev/null)"
$echo $PYVER
$Python 2.7.10

我认为问题在于python版本将其输出发送到stder,而不是stdout。 下面的重定向似乎可以满足您的需要

$PYVER="$(python --version 2>&1 > /dev/null)"
$echo $PYVER
$Python 2.7.10