2012-11-27 38 views
2
diff file1 file2 >/dev/null 2>&1 

我知道這是幹嘛的。它運行命令diff,並檢查其退出狀態,忽略diff的輸出。>/dev/null 2>&1是什麼意思?

我只是不知道這是什麼部分是指:

>/dev/null 2>&1 

什麼> 和&

(不知道這些是什麼所謂的,所以我不能看這件事) (這是在Bourne Shell中)

+0

我無法相信這是不是重複...我無法找到一個 – Bohemian

+0

可能重複[在bash shell中,什麼是「2>&1」?](http://stackoverflow.com/questions/818255/in-the- bash的殼 - 什麼 - 是-21) – Vijay

回答

4

>/dev/null將標準重定向到/dev/null,即拋出輸出。 2>&1將標準錯誤重定向到標準輸出;在這種情況下,它意味着拋棄所有的錯誤輸出。你可以谷歌的shell輸出重定向瞭解更多信息。

0

此外,因爲只有退出狀態而被通緝,這個命令可以簡化爲一個,這並不需要將其輸出重定向到該位鬥:

cmp -s file1 file2