命令行脚本提供了多种参数类型。通常可以通过“--[参数]”或“-[参数]”将参数传递给脚本。但有什么区别呢?为什么有些参数有双“-”而有些参数只有一个“-”前缀?这背后是否有技术原因的惯例?
可能git
参数的示例。 (参见--exec-path[=<path>]
对比-c name=value
)
git [--version] [--help] [-C <path>] [-c name=value]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
答案1
这取决于书面申请的语言。例如,在 bash 中,您可以-
同时使用和解析短参数 ( )getopt
以及仅使用getopts
长--
参数 ( ) getopt
。
getopts
是一个bash函数,getopt
是一个单独的程序。因此,为了最大限度地提高 bash 脚本的可移植性,您必须使用getopts
简短的表示法。
对于其他语言,您可以参考相应文档的“解析参数”部分。