2010-02-19 100 views
2

我知道一個命令行應用程序應該在成功時返回0。但是有什麼「標準」來表達其他價值呢?例如無效的參數等。命令行應用程序的標準返回值是什麼?

Windows和Unix下是否存在差異?

+1

Linux/BSD:http://stackoverflow.com/questions/1101957/are-there-any-standard-exit-status-codes-in-linux – 2010-02-19 10:51:23

回答

1

errno.h中存在一組標準的錯誤代碼和相應的消息。系統調用返回值可以與此相比較。 如果你正在編寫自定義程序,那麼返回值可以是你想要的。處理返回值完全取決於你。

0

你說得對,返回0通常意味着成功,任何其他值都是錯誤。

我不認爲其他值有任何「標準」。至少它沒有被廣泛使用。 通常的方法是,在標準錯誤輸出上打印錯誤消息,並返回每種錯誤的唯一錯誤標識符。 然後,您可以在手冊頁或其他文檔文檔中記錄錯誤代碼。

windows似乎使用相同的方法。例如,

  • mkdir回報1和打印〜 '不正確的語法'
  • mkdir C:\alreay\existing\directory回報也是1和打印〜 'direcotry或文件已經存在'

注:消息不準確的(翻譯而來法語)

相關問題