Linux命令列與shell指令碼(11)--輸入/輸出重新導向__Linux

來源:互聯網
上載者:User
理解輸入和輸出 重新導向錯誤訊息
ls -al badfile 2> test4 重新導向錯誤和資料
ls -al test test2 test3 badtest 2> test6 1> test7 #錯誤輸入到test6,正常資料顯示到test7 ls -al test test2 &> test8 #將標準錯誤和標準輸入都重新導向到test8 在指令碼中重新導向輸出 將文本輸出到標準錯誤中 echo "This is an error message" >&2 可以使用 exec 命令告訴shell指令碼在執行期間重新導向某個特定檔案描述符
echo "This is the start of the script";echo "now redirecting all output to another location";exec 1> testoutexec 2> testerrorecho "This output should go to the testout file";echo "This output should go to the testerror file" >&2;
在指令碼中重新導向輸入 exec命令允許將STDIN重新導向到Linux系統上的檔案中
file="/Users/chenhong/Desktop/shell_workspace/STD.sh";exec 0< $filecount=1while read linedo        echo "Line $count:$line";        count=$[ $count + 1 ];done
建立自己的重新導向 可以使用exec命令來輸出分配檔案描述符
exec 3>testout # 也可以使用 exec 3>>testout 進行追加echo "This shoud output the STDOUT";echo "This shoud output the &3" >&3;
要關閉檔案描述符,將它重新導向到特殊符號&- exec 3>&- 列出開啟的檔案描述符 顯示當前進程的預設檔案描述符 lsof -a -p $$ -d 0,1,2 阻止命令輸出 shell輸出到null檔案的任何資料都不會儲存,這樣它們就都被丟掉了 ls -al > /dev/null 可以用它快速移除現有檔案中的資料而不用先刪除檔案再建立 cat /dev/null > testfile 記錄訊息 tee命令相當於管道的一個T型接頭。它將從STDIN過來的資料同時發給兩個目的地。一個目的地是STDOUT,另一個目的地是tee命令列所指定的檔案名稱 date | tee testout 預設情況下,tee每次都會覆蓋檔案,追加檔案,可以使用-a date | tee -a testout
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.