2013-10-01 127 views
1

我寫的x86的Linux在C程序。我希望使用我自己的客戶退出代碼來幫助用戶在程序未按預期執行時調試問題。不同的BASH退出狀態代碼

舉個例子,假設程序是一個命令行的計算器,我想返回以下退出代碼和他們的手冊頁文件;

  1. 計算完成和打印結果屏幕(正常操作) - 返回0
  2. 提供的操作數的數目無效(語法錯誤基本上!) - 返回1
  3. 其他某些錯誤 - 返回2
  4. 另一個錯誤 - 返回3

我看過幾頁像this one這讓我覺得我不能返回任何我喜歡的退出代碼。有沒有官方規則(BASH或Linux標準/指南)我應該在這裏,除了0 ==正常退出嗎?

+2

大限制就是$? (返回代碼)可以不大於255還有什麼是你的,只要你記錄下返回值和錯誤,你的萎靡不振,應該不會有任何問題。良好的聯繫,最好遵守這些限制。祝你好運。 – shellter

+1

退出代碼是操作系統的一個功能,而不是任何特定的外殼。 – chepner

回答

5

可以返回任何你喜歡的整體退出代碼。您參考的BASH腳本指南頁面說,調試某些因某種其他原因返回衆所周知的代碼時可能會造成混淆。

該頁面還提到/usr/include/sysexits.h作爲一種嘗試系統化退出代碼爲C程序員。

+0

感謝指向'/ usr/include/sysexits.h'的指針,我對此不瞭解! – jwbensley