选项的前缀规则到底是什么: - 和 -- ?为什么 find 命令与 --name 选项不兼容?

选项的前缀规则到底是什么: - 和 -- ?为什么 find 命令与 --name 选项不兼容?

有一次,我了解到以下选项Linux命令有两种方式:

  • 那些由一个字母组成,前缀为-
  • 由许多字母组成,前缀为--

这在 95% 的情况下都有效。

但例如,对于find命令则不然。这个失败了:

find . --name myfilename

这个正在工作:

find . -name myfilename

要么我认为选项以字母数量开头-,要么--取决于它们的字母数量,

我同意,任何一个find命令都应该保留与该选项一起运行的兼容性-name,但它也应该接受该--name选项。

真相是什么?

答案1

你学到的是更像是你所说的指导方针比实际规则。或者也许他们应该被称为海关。

残酷的现实是,没有规则,试图通过一些干净而漂亮的规则来对现有工具及其所有历史兼容性包袱进行建模,注定会以泪水告终。

测试/操作/无论什么find都是一回事,像 X 实用程序 ( -geometry) 中的单破折号长参数是另一回事,类似的东西tar czf又是dd if=...另一回事。

也可以看看:

相关内容