【问题标题】:All possible exit codes for cpcp 的所有可能退出代码
【发布时间】:2014-05-10 09:41:53
【问题描述】:

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

【问题讨论】:

  • 99% 的 Unix 命令只使用 0 表示成功,1 表示失败,它们没有不同的代码来区分原因。具有特定退出代码的少数命令在其手册页中对其进行了描述。所以如果没有这个细节,你可以假设没有具体的代码。
  • 有关这方面的示例,请参见 grep 手册页。如果找到匹配项,则退出代码为0,如果未找到匹配项,则为1,如果发生错误,则为2

标签: linux unix exit-code cp


【解决方案1】:

这是cpcoreutils-8.21 退出的方式:

exit (ok ? EXIT_SUCCESS : EXIT_FAILURE);

只有 0 或 1。

【讨论】:

  • 即使有更复杂的区别,它也只对这一个实现有效。如果它没有在任何标准中描述,它就不会以可移植的方式出现。
【解决方案2】:

在 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

【讨论】:

    猜你喜欢
    • 2016-02-16
    • 2021-07-09
    • 2022-08-16
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多