我正在尝试确定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
的缩写是否存在这样的列表?做一个可行吗?这样做是否值得?
答案 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