<分区>
我想检查当前版本的 python 是否是我在 bash 脚本中期望的版本。
python --version | grep --quiet 'Python 2.7.12 :: Continuum Analytics'
if [ $? == 0 ]; then
echo "python version ok"
fi
但是 grep 命令总是返回 1,而不是 0,即使我得到一个很好的匹配,即使使用一个简单的 grep 'Python'
。要检查它,echo "${PIPESTATUS[1]}"
返回 1
如果我将一些其他输出通过管道传递给 grep,它会按预期工作,例如:
echo 'Python 2.7.12 :: Continuum Analytics' | grep --quiet 'Python 2.7.12 :: Continuum Analytics'
这正常工作,echo "${PIPESTATUS[1]}"
返回 0
传送到 grep 的 python --version
命令出了什么问题?我们该如何解决?