Shell標準輸出、標準錯誤 >/dev/null 2>&1

Dus發表於2016-01-11

/dev/null 代表空裝置檔案
> 代表重定向到哪裡,例如:echo "123" > /home/123.txt
1 表示stdout標準輸出,系統預設值是1,所以">/dev/null"等同於"1>/dev/null"
2 表示stderr標準錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1

那麼本文標題的語句:
1>/dev/null 首先表示標準輸出重定向到空裝置檔案,也就是不輸出任何資訊到終端,說白了就是不顯示任何資訊。
2>&1 接著,標準錯誤輸出重定向等同於 標準輸出,因為之前標準輸出已經重定向到了空裝置檔案,所以標準錯誤輸出也重定向到空裝置檔案。

相關文章