linux某些命令输出重定向后为空如python --version | wc -l为0

群友反应的问题, 贴上聊天记录

甩得**2 11:44:43
python --version | awk -F '.' '{print $1}'
为啥是Pythone 2.7.3 这么个结果?
这个命令 我期望获得字符串: Python 2
但是无论怎么修改awk的-F 都始终是输出Python 2.7.3


☆⌒_⌒☆ 11:47:41
echo -n 'Python 2.7.3' | awk -F '[.]' '{ print $1; }'
Python 2


甩得**2 11:47:58
直接echo是正确的
python --version | wc -l
0
真是奇了怪了


帅得不敢出门 17:34:37
python --version 1>/dev/null
Python 2.7
python --version 2>/dev/null
输出为空
原因在此.
默认重定向的是stdout的,   而这个是stderr的.  所以这样得不到.
python --version  2>&1 | awk -F '.' '{print $1}'


你可能感兴趣的:(linux某些命令输出重定向后为空如python --version | wc -l为0)