Linux cp所有可能的退出代码

Linux cp所有可能的退出代码,linux,unix,exit-code,cp,Linux,Unix,Exit Code,Cp,查看cp的手册页,我只发现当复制成功且没有错误时,命令以0退出,在任何错误时,命令的数字都大于0。但是,我找不到关于映射到特定案例的特定退出代码的任何详细描述。是否在任何地方都有这样的描述,甚至是标准化的,或者每个Unix/Linux发行版都有自己的针对不同场景的退出代码集?以下是coreutils-8.21中的cp如何退出: exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); 只有0或1。在Mac(10.12.5(16F73))上还有其他代码。例如: Mac$

查看cp的手册页,我只发现当复制成功且没有错误时,命令以0退出,在任何错误时,命令的数字都大于0。但是,我找不到关于映射到特定案例的特定退出代码的任何详细描述。是否在任何地方都有这样的描述,甚至是标准化的,或者每个Unix/Linux发行版都有自己的针对不同场景的退出代码集?

以下是
coreutils-8.21
中的
cp
如何退出:

exit (ok ? EXIT_SUCCESS : EXIT_FAILURE);
只有0或1。

在Mac(10.12.5(16F73))上还有其他代码。例如:

Mac$ cp -W 1 2; echo $?
cp: illegal option -- W
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
64

99%的Unix命令只使用0表示成功,1表示失败,它们没有不同的代码来区分原因。少数几个具有特定退出代码的命令在其手册页中对其进行了描述。因此,如果没有此详细信息,您可以假设没有特定的代码。有关此示例,请参阅
grep
手册页。如果找到匹配项,则退出代码为
0
,如果未找到匹配项,则退出代码为
1
,如果出现错误,退出代码为
2
。即使存在更复杂的区别,也仅对这一个实现有效。如果在任何标准中未对其进行描述,则不会以便携方式呈现。