为什么 -r 递归标志在某些中是大写,而在另一些中是小写?

为什么 -r 递归标志在某些中是大写,而在另一些中是小写?

一些命令使用小写字母r作为递归标志,而其他命令则使用大写字母R

cp -r foo/ bar/

chmod -R 777 foobar/

是否有一个原因?

答案1

cp实际上两者都接受。

cp --help

  -R, -r, --recursive          copy directories recursively

为了保持一致性,大多数 shell 命令-R都使用递归旗帜,可能是因为他们模仿了的行为ls

ls --help

  -r, --reverse              reverse order while sorting
  -R, --recursive            list subdirectories recursively

答案2

除了程序员可以选择使用他们想要的任何标志之外,我不确定这种不一致还有其他什么具体的原因。

我不认为这方面有任何形式的标准,所以很难期待每个人效仿。

相关内容