$ %boast bash: fg: %boast: No such job.
当命令执行成功的时候终端屏幕上不显示任何信息,但是当发生错误的时候它经常会以一定的形式汇报错误。上面我开了一个关于Linux错误信息提示的玩笑。boast是吹牛的意思。我在终端上敲入“%boast”后,终端返回错误提示“No such job”,意思是没有这样的工作。不同的命令返回的错误信息格式有所不同,但是经常有如下格式:
命令名: 执行内容: 错误信息
例如:
$ rm jie
给出的错误返回是:
rm: cannot remove 'jie': No such file or directory.
那究竟发生了什么情况?当rm命令要删除jie这个文件,jie这个文件不存在,产生了代号为2的错误。这个错误代号的意思就是找不到相应的文件或目录。错误代码就被自动翻译成No such file or directory。由于错误代码有限(大约有一百多种),有可能许多不同问题对应于同一个错误代码,所以理解要执行的命令和错误信息的关系很重要。得到错误信息,让我欢喜让我忧,喜的是知道发生什么样的错误,忧的是对错误信息有可能百思不得其解,不知道如何去解决,这时候就得凭经验了。
errno.h包含一个完整的基本错误代码列表。除此之外,其他一些头文件(.h)也定义了自己的一些错误代码。代码1列出了系统定义的所有错误代码及错误描述。
代码1:
#include <string.h> #include <errno.h> #include <stdio.h> int main(intargc, char ** argv) { int i = 0; for(i = 0; i< 256; i++) printf ("errno.%02d is: %s\n", i, strerror(i)); return 0; }
编译此程序用命令:
gcc -Wall strerror.c
执行程序:
./a.out
这个程序的输出有点长,所以就不去浪费纸张了,你自己在电脑上看吧。
Comments