那個2>/dev/null是如果你的命令出錯的話,錯誤報告直接就刪除了。不會顯示在屏幕上,或者是以郵件的形式發給你了。 [test @test test]# ls -al > list.txt 將顯示的結果輸出到 list.txt 檔案中,若該檔案以存在則予以取代! [test @test test]# ls -al >> list.txt 將顯示的結果累加到 list.txt 檔案中,該檔案爲累加的,舊數據保留! [test @test test]# ls -al 1> list.txt 2> list.err 將顯示的數據,正確的輸出到 list.txt 錯誤的數據輸出到 list.err [test @test test]# ls -al 1> list.txt 2>&1 將顯示的數據,不論正確或錯誤均輸出到 list.txt 當中! [test @test test]# ls -al 1> list.txt 2> /dev/null 將顯示的數據,正確的輸出到 list.txt 錯誤的數據則予以丟棄! 注意!錯誤與正確檔案輸出到同一個檔案中,則必須以上面的方法來寫! 不能寫成其它格式! 這個觀念相當的重要,尤其是在 /etc/crontab 當中執行的時候,如果我們已經知道錯誤的訊息爲何,又不想要讓錯誤的訊息一直填滿 root 的信箱,就必須以 2> 搭配 /dev/null 這個垃圾桶黑洞裝置,來將數據丟棄!這個相當的重要! 這裏我們來說明一下命令重導向裏面幾個常用的符號與裝置: < :由 < 的右邊讀入參數檔案; > :將原本由屏幕輸出的正確數據輸出到 > 右邊的 file ( 文件名稱 ) 或 device ( 裝置,如 printer )去; >> :將原本由屏幕輸出的正確數據輸出到 >> 右邊,與 > 不同的是,該檔案將不會被覆蓋,而新的數據將以『增加的方式』增加到該檔案的最後面; 2> :將原本應該由屏幕輸出的錯誤數據輸出到 2> 的右邊去。 /dev/null :可以說成是黑洞裝置!
linux shell 2> /dev/null的解釋
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.