linux下shell重新導向

來源:互聯網
上載者:User

舉例說明

ls -l > out.file 2>&1 &

解釋:
ls -l > out.file //將ls的輸出重新導向到檔案out.file

2>&1 //在shell中,檔案描述符通常是:STDIN,STDOUT,STDERR,即:0,1,2,由此可以看出,它將ls -l > out.file在輸出過程中產生的錯誤資訊也放在了STDOUT,即:1中,你可以作實驗,如果命令產生了錯誤,那麼錯誤資訊也就在out.file中.

其中可能有點奇怪的是&1,既然>左側的2可以表示STDERR,為什麼右側不能直接使用1呢?

其實,如果右側直接使用1,會發現錯誤資訊不在out.file,而是在檔案1中,所以這裡的&起到了類似轉義的作用

:~$ sudo ./test1.sh p1 p2 p3 p4 >out.file 2>1:~$ ls1    out.file   test1.sh:~$ cat 1sudo: ./test1.sh: command not found:~$ cat out.file :~$ sudo ./test1.sh p1 p2 p3 p4 >out.file 2>&1:~$ cat 1sudo: ./test1.sh: command not foundiie@Monitor:~$ cat out.file sudo: ./test1.sh: command not foundiie@Monitor:~$ 


因為test1.sh沒有執行許可權,所以這裡會輸出錯誤:sudo: ./test1.sh: command not found

最後的& ,不用說,是放在後台運行.

參考:http://www.linuxsir.org/bbs/thread40501.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.