POSIX短期权是否有默认的保留名称列表?

时间:2019-05-14 13:35:49

标签: command-line-interface posix naming-conventions

我正在尝试确定POSIX标准中短选项的“保留”名称列表是否存在。可以是规范,约定还是两者兼有。

我能够找到的唯一真正的保留短期权名称是-W

请参阅https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html

  

准则3:      每个选项名称应为可移植字符集中的单个字母数字字符(字母数字分类)。 -W(大写字母W)选项应保留供卖方选择。

我猜一个很强的约定是-h,它是--help的缩写。另一个较弱的地方似乎是-n的{​​{1}}(来自同事,比我更习惯于此标准)。

就目前而言,如果我必须列出一个列表,那将是:

按规范保留

  • --dry-run:供应商选项

根据惯例强烈保留

  • -W-h的缩写

根据惯例已被保留

  • --help-n的缩写

是否存在这样的列表?做一个可行吗?这样做是否值得?

1 个答案:

答案 0 :(得分:1)

我制作了一个脚本来抓取GNU tools docs,试图将短选项链接到长选项。我设法从48种不同的工具中收集了选项,并得到了these results

这远非完美,但我可以得出一些趋势。 *意味着我添加了同一个单词的不同样式来计数(例如--exclude--exclude-all

强劲趋势: (具有10个以上关联的任何事物)

  • -V--version
  • -h--help
  • -f--file
  • -i--ignore *
  • -n--no *(总是--no-something
  • -o--output *
  • -q--quiet(或--silent
  • -v--verbose(也是--version,但是--verbose只有22个命中,而--version只有13个命中)

中等趋势: (具有5个以上关联的任何事物)

  • -D--define
  • -I--include *
  • -X--exclude *
  • -c--count
  • -d--debug
  • -f--force
  • -i--input *
  • -k--key *
  • -m--mode
  • -n--dry-run
  • -r--recursive
  • -u--user

弱趋势: (具有3个以上关联的任何事物,或具有2个以上关联的单独类别的事物)

  • -0--null
  • -C--directory
  • -D--debug
  • -F--file
  • -H--format
  • -L--language--licence(均相等)
  • -U--undefine
  • -W--warnings
  • -a--apend *
  • -c--check
  • -e--expression--error *
  • -f--foreground
  • -h--host
  • -i--include / --inetd / --interactive
  • -l--list / --line *
  • -n--number
  • -p--password / --port / --print
  • -r--reverse
  • -s--silent / --lint *
  • -t--test / --trace
  • -u--unique / --update
  • -w--width
  • -x--debug