find
该命令违反了使用双破折号表示多个字符选项的惯例,有什么原因吗?
我的意思是,例如,为什么
find -name "my_file.*"
而不是
find --name "my_filename.*"
答案1
作为@muru 说:
这些不是选项,而是测试,我们已经有了一个带有单个连字符的多字符测试名称的约定 - shell
[
/test
命令的测试。
答案2
这只是历史。不要过度解读这些东西;当那些旧的 Unix 命令被发明时,没有约定,至少没有像今天这样牢固的约定。每个人都在做自己的事情。花了很长时间才解决所有问题,到那时它已经如此根深蒂固,以至于如果有一场运动来统一这些东西,就会引起强烈抗议,许多精心手工制作的脚本就会被破坏。