“-”和“--”前缀命令行参数之间的区别?

“-”和“--”前缀命令行参数之间的区别?

命令行脚本提供了多种参数类型。通常可以通过“--[参数]”或“-[参数]”将参数传递给脚本。但有什么区别呢?为什么有些参数有双“-”而有些参数只有一个“-”前缀?这背后是否有技术原因的惯例?

可能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简短的表示法。

对于其他语言,您可以参考相应文档的“解析参数”部分。

相关内容