2>/dev/null和>/dev/null 2>&1和2>&1 >/dev/null


標準輸入0    從鍵盤獲得輸入 /proc/self/fd/0
標準輸出1    輸出到屏幕(即控制檯) /proc/self/fd/1
錯誤輸出2    輸出到屏幕(即控制檯) /proc/self/fd/2
/dev/null代表linux的空設備文件,所有往這個文件裏面寫入的內容都會丟失,俗稱“黑洞”
1. 2>/dev/null意思就是把錯誤輸出到“黑洞”
2. >/dev/null 2>&1默認情況是1,也就是等同於1>/dev/null 2>&1。意思就是把標準輸出重定向到“黑洞”,還把錯誤輸出2重定向到標準輸出1,也就是標準輸出和錯誤輸出都進了“黑洞”
3. 2>&1 >/dev/null意思就是把錯誤輸出2重定向到標準出書1,也就是屏幕,標準輸出進了“黑洞”,也就是標準輸出進了黑洞,錯誤輸出打印到屏幕
關於這裏”&”的作用,我們可以這麼理解2>/dev/null重定向到文件,那麼2>&1,這裏如果去掉了&就是把錯誤輸出給了文件1了,用了&是表明1是標準輸出。可以參考https://segmentfault.com/q/1010000002454596

發佈了68 篇原創文章 · 獲贊 74 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章