我想知道:
- -q 和 --quiet 有什么区别?
- 在什么情况下我应该使用 -q 和 --quiet?
谢谢你!
答案1
许多 Linux/Unix 控制台应用程序都有长选项和短选项。检查一下man application
——如果它说是相同的,那就是相同的。使用什么并不重要——长选项只是冗长且更容易阅读。
答案2
这完全取决于应用程序。如果应用程序的文档说它们是等效的,那么它们就是等效的。如果不是,-q 和 --quiet 可能都有效但完全不相关。
命令行选项纯粹是一种约定。通常,您可以通过 CLI 程序的论据来了解其传承,甚至忠诚度。如果你的程序说 -q 和 --quiet 是等价的,那么它的开发人员很可能沉浸在 GNU 中,尽管他们可能甚至没有意识到这一点。
值得注意的是,这是 GNU 的文档:
请定义与单字母 Unix 样式选项等效的长名称选项。我们希望通过这种方式使 GNU 更加用户友好。
https://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
许多旧的 Unix 程序不这样做。很多较新的也没有。
看看 nginx,世界上最流行的 Web 服务器之一。 nginx -h,完全有效,nginx --help,大错误。
我记得很多年前看过一篇帖子,我相信是一些 mplayer 开发者写的,基本上是说遵循 -q --quiet 约定相当于暴政,而且他们没有玩。
答案3
这更像是一个惯例。许多工具都具有完整编写选项和速记选项。
这主要是一个偏好问题。有些人更喜欢可读性而不是简洁性,反之亦然。
作为特登提到它很大程度上取决于所讨论的工具,并且不确定是否-q
与 相同--quiet
,请始终检查联机帮助页。
此外,也没有真正的一致性,更成熟和更大的项目往往有更完整和深思熟虑的做事方式。即使这一点也存在很大争议,因为一些众所周知且经常使用的工具可能有一种奇怪的方式来定义参数。