前提
各种 *nix 工具中的大多数长格式选项都使用连字符作为单词分隔符。
例子
从man tr
:
--squeeze-repeats
--truncate-set1
从man sudo
:
--preserve-env
--set-home
--non-interactive
还可以举出更多的例子。
问题
--add_extra_groups
为什么in 中的选项adduser
包含下划线而不是连字符分隔符?甚至其他长格式选项也adduser
使用连字符:
SYNOPSIS
adduser [options] [--no-create-home] [--disabled-password] [--disabled-login]
[--add_extra_groups] [--encrypt-home] user
这只是一个随着时间的推移而变得正常的错字,还是还有其他解释?
答案1
这是一个拼写错误,即使该选项仍然有效。
按照标准,应该使用连字符来分隔单词,即使有时可以找到下划线。例如,这是GNU C 库参考手册 说的是长选项:
长选项由
--
后跟由字母数字字符和破折号组成的名称组成。选项名称通常为一到三个单词长,并用连字符分隔单词。