2014-01-07 112 views
6

linux命令返回的退出状态1的含义是什么?像127退出状态表示“找不到命令”。linux命令返回的退出状态1的含义

我已访问http://linux.die.net/abs-guide/exitcodes.html页面,是否意味着退出状态1没有特别的意义?

+0

ABS的链接是困惑。这些退出代码并不是“保留”的,这个表格是Bash内部使用,一般Unix惯例以及作者的大意见的快乐混合体。 – tripleee

+0

另请参阅http://stackoverflow.com/questions/36530696/linux-how-to-get-error-description-by-error-number/36566055#36566055 – tripleee

回答

11

唯一的一般约定是零退出状态表示成功,而任何非零退出状态都是失败。

许多 - 但肯定不是全部 - 命令行工具返回语法错误的退出代码1,即您的参数太少或选项无效。

许多 - 但是,唉,并非所有 - 命令行工具都有一个manual page。按照惯例,它应该记录程序的退出代码,但许多程序没有。

4

您可以使用man来查看退出状态的值。

给予如下的例子:

man ls 

现在搜索字符串出口

下面添加屏幕截图:

enter image description here

+0

由于tripleee并未发布所有命令的手册页记录的退出代码。我面临命令msgfmt的退出状态相关问题,它的手册页没有关于退出代码的文档。 – user2664054

+0

[msgfmt.c](http://git.savannah.gnu.org/cgit/gettext.git/tree/gettext-tools/src/msgfmt.c)似乎使用通用[EXIT_FAILURE](https:// www.gnu.org/software/libc/manual/html_node/Exit-Status.html)基本上每个错误情况。尽管如此,还是会有一个错误信息告诉你出了什么问题。 – tripleee

相关问题