可以编写哪些快速 shell 脚本、Python 脚本或 C 程序来使其退出并显示错误代码 77(即 EBADFD)?我不想只说 exit 77,我希望它做一些事情来导致实际生成该错误。
答案1
EBADFD
errno
是一个错误代码,可以通过 Linux 中的某些系统调用在变量中返回。您在 shellexit 123
或exit(123)
C 程序中使用的任何内容都会设置程序的退出状态。
这些是不一样的,通常程序不会以系统调用的错误代码退出,而是以更通用的方式退出,例如1
或由程序本身定义的值。例如,如果命令行上指定的文件有错误,GNU ls 返回 2;如果遇到的其他文件有错误,则返回 1;sox
另一方面,如果命令行参数有错误,则返回 1;如果文件出现错误,则返回 2。
至于EBADFD
,它似乎不是很常见,主要用于某些驱动程序,声音驱动程序似乎是一个比较突出的用户(看这里)。 (EBADF
当然,这很常见。)