命令“find”以单破折号开头

命令“find”以单破折号开头

在命令的手册页中find
我发现-depth, -delete,-exec等选项的前导符号是单-而不是双--

反之,还有git log --onelinegit log --graph、 、--python
可以方便区分全称和缩写命令

为什么指挥部find不遵循这样的做法。

答案1

因为find由 POSIX 标准化的实用程序git事实并非如此。因此,开发人员git可以以他们认为合适的任何方式自由地实现其选项/操作数。

POSIX 实用程序用于-引入选项以及这些实用程序的实现(例如ls等)始终按照 POSIX 标准规定的方式实现它们。然后,对于某些实用程序,有一个额外的一些标准选项的“长选项”变体以及 POSIX 甚至没有提到的扩展。

在 的情况下find,这些并不是严格的“选项”,而是“操作数”(也称为“主数”或“谓词”,具体取决于您正在阅读的手册),它们形成“操作数表达式”并作用于路径find名目前正在处理中。标准的真正选项find只是-H(取消引用符号链接) 和-L(不取消引用符号链接)。您会注意到手册中的差异,其中选项和操作数分为不同的部分。

另外,对于git,当在命令行上指定时,它们不是“真正的选项”,而是操作数。选项始终在非选项之前指定,最后一个选项之后的任何命令行参数都只是“操作数”。它们很可能被转换为git稍后调用的子命令的真实选项。

相关内容