2013-10-01 126 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