1. 程式人生 > >linux某些命令輸出重定向後為空如python --version | wc -l為0

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}'