【问题标题】:Single dash vs double dash for long options in *nix command line programs - best practices? [closed]*nix 命令行程序中长选项的单破折号与双破折号 - 最佳实践? [关闭]
【发布时间】:2013-11-20 19:23:14
【问题描述】:

我猜建议单破折号用于单字符选项,而双破折号用于长选项(主要是因为单词可以有破折号)。但是我已经看到了单词选项仅以单个破折号作为前缀的情况。

是否存在单破折号长选项有意义的情况?

【问题讨论】:

  • 如果您投反对票,请解释原因。
  • 这个问题似乎跑题了,因为它不是编程问题
  • @JasonGoemaat 对我来说似乎是一个编程问题 - 如果您正在设计命令行工具,您应该使用单破折号还是双破折号来处理长选项?这正是把我带到这里的情况——我发现这个问题和答案非常有用。

标签: shell command-line options


【解决方案1】:

传统上,短选项可以组合成一个参数;以下是等价的:

program -a -b -c
program -abc

如果您允许单破折号的长选项,您将面临模棱两可的风险:

# One long option -cat, or 3 short options -c, -a ,-t?
program -cat

双破折号用于表示以下字符都构成相同的选项名称:

program -cat --cat   # 4 options: -c, -a, -t, --cat

【讨论】:

  • 我没想到。很好的解释。谢谢。
  • BSD 风格似乎也只使用短选项,而 GNU 支持短选项和长选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 2016-06-06
  • 1970-01-01
  • 2013-10-09
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多