bash:--argument 与 -arg

bash:--argument 与 -arg

在大多数脚本(但主要是 bash)中,经常会看到一些像这样配置的参数:

bash-4.3:$ command --longer-argument -la

这是从哪里起源的?我主要只是好奇为什么这实际上成为了一个一致的标准。主要是为了可读性吗?

另外,为什么不使用类似的东西

bash-4.3:$ command -longer-argument,其中所有 CLI 参数仅由一个破折号指定?

答案1

这可能会有帮助(tar但我认为它也可以扩展到其他程序): https://www.gnu.org/software/tar/manual/html_section/tar_21.html

长选项应该是显而易见且易于记忆的,它们的含义通常比相应的短选项更容易辨别(见下文)。例如:

$ tar --create --verbose --blocking-factor=20 --file=/dev/rmt0

即使对于那些不完全熟悉 tar 的人来说,也给出了关于该命令的作用的一组相当好的提示。

还有这个链接命令行接口标准

这是一个关于 GNU 长选项的笑话:https://www.gnu.org/fun/jokes/long-options.en.html

通常运行command -h/--help会显示命令提供的选项(短/长)。

答案2

您无法消除带有参数的选项之间的歧义,除非双破折号表示长破折号,单破折号表示短破折号。

-f file

...意味着-f带有file参数的选项

...而--ffile如果没有争论,这将是一个完全不同的选择。

相关内容