在大多数脚本(但主要是 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
如果没有争论,这将是一个完全不同的选择。