linux shell 管道命令(pipe)使用及shell重定向
管道命令操作符是:”|”,它僅能處理經由前面一個指令傳出的正確輸出資訊,也就是 standard output 的資訊,對於 stdandard
error 資訊沒有直接處理能力。然後,傳遞給下一個命令,作為標準的輸入 standard input.
- 管道命令使用說明:
先看下下面圖:
command1正確輸出,作為command2的輸入 然後comand2的輸出作為,comand3的輸入 ,comand3輸出就會直接顯示在螢幕上面了。
通過管道之後:comand1,comand2的正確輸出不顯示在螢幕上面
注意:
1、管道命令只處理前一個命令正確輸出,不處理錯誤輸出
2、管道命令右邊命令,必須能夠接收標準輸入流命令才行。
例項:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
[[email protected]
shell]$ cat test .sh
| grep -n 'echo'
5: echo "very
good!" ;
7: echo "good!" ;
9: echo "pass!" ;
11: echo "no
pass!" ;
#讀出test.sh檔案內容,通過管道轉發給grep
作為輸入內容
[[email protected]
shell]$ cat test .sh
test1.sh | grep -n 'echo'
cat :
test1.sh: 沒有那個檔案或目錄
5: echo "very
good!" ;
7: echo "good!" ;
9: echo "pass!" ;
11: echo "no
pass!" ;
#cat
test1.sh不存在,錯誤輸出列印到螢幕,正確輸出通過管道傳送給grep
[[email protected]
shell]$ cat test .sh
test1.sh 2> /dev/null | grep -n
|