国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux shell 管道命令(pipe)使用及與shell重定向區別

2019-10-26 18:47:01
字體:
來源:轉載
供稿:網友

看了前面一節:linux shell數據重定向(輸入重定向與輸出重定向)詳細分析 估計還有一些朋友是頭暈暈的,好復雜的重定向了。這次我們看下管道命令了。shell管道,可以說用法就簡單多了。

管道命令操作符是:”|”,它僅能處理經由前面一個指令傳出的正確輸出信息,也就是 standard output 的信息,對于 stdandard
error 信息沒有直接處理能力。然后,傳遞給下一個命令,作為標準的輸入 standard input.

管道命令使用說明:
先看下下面圖:

command1正確輸出,作為command2的輸入 然后comand2的輸出作為,comand3的輸入 ,comand3輸出就會直接顯示在屏幕上面了。

通過管道之后:comand1,comand2的正確輸出不顯示在屏幕上面

注意:

1、管道命令只處理前一個命令正確輸出,不處理錯誤輸出

2、管道命令右邊命令,必須能夠接收標準輸入流命令才行。

實例:

[chengmo@centos5 shell]$ cat test.sh | grep -n 'echo'5:    echo "very good!";7:    echo "good!";9:    echo "pass!";11:    echo "no pass!";#讀出test.sh文件內容,通過管道轉發給grep 作為輸入內容 [chengmo@centos5 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   [chengmo@centos5 shell]$ cat test.sh test1.sh 2>/dev/null | grep -n 'echo' 5:    echo "very good!";7:    echo "good!";9:    echo "pass!";11:    echo "no pass!";#將test1.sh 沒有找到錯誤輸出重定向輸出給/dev/null 文件,正確輸出通過管道發送給grep  [chengmo@centos5 shell]$ cat test.sh | lscatfile      httprequest.txt  secure  test            testfdread.sh  testpipe.sh    testsh.sh      testwhile2.shenvcron.txt  python           sh      testcase.sh     testfor2.sh    testselect.sh  test.txt       text.txtenv.txt      release          sms     testcronenv.sh  testfor.sh     test.sh        testwhile1.sh#讀取test.sh內容,通過管道發送給ls命令,由于ls 不支持標準輸入,因此數據被丟棄            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安庆市| 南溪县| 海晏县| 安多县| 阿荣旗| 金平| 县级市| 耒阳市| 沙坪坝区| 大姚县| 兴国县| 神农架林区| 万州区| 多伦县| 蒲城县| 萍乡市| 迁安市| 颍上县| 乐都县| 林西县| 揭东县| 临潭县| 景泰县| 巴楚县| 阿鲁科尔沁旗| 岳阳县| 潜江市| 乡宁县| 家居| 红安县| 长阳| 迁西县| 确山县| 扎赉特旗| 廊坊市| 沂南县| 汨罗市| 乾安县| 鄯善县| 肥城市| 阿图什市|