* nix命令行程序中的长选项的单破折号与双破折号 - 最佳实践?

时间:2013-11-20 19:23:14

标签: shell command-line options

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

是否存在单个短划线长选项有意义的情况?

1 个答案:

答案 0 :(得分:11)

传统上,短期权可以合并为一个参数;以下是等效的:

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