码迷,mamicode.com
首页 > 其他好文 > 详细

命令行参数前的「-」和「--」区别

时间:2019-06-30 12:37:11      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:等价   空格   bar   命令行选项   com   argument   https   设计   oba   

转自:https://www.zhihu.com/question/267095526/answer/319387178

简单来说,「-」和「--」是两种不同的命令行选项的风格。前者是传统的Unix风格的,后者是GNU风格的。

具体点来讲,起初Unix设计命令行程序时,需要将一个命令的『选项』(Options)和『参数』(Arguments)区分开来,就引入了「-」。

凡是以「-」开头的,就是选项。选项用一个单独的字母作为标志,通常也是一个选项英语的缩写。

例如,「-a」表示所有(all),「-c」表示命令(command),「-f」表示文件(file),「-V」表示版本(version)。

多个选项也可以连写,如「ls -A -l」可以写成「ls -Al」。

但是,单独字母的数量毕竟有限,会不够用,而且表达的意思不够明确。

于是就有了之后的GNU风格来完善上述的不足,使用「--」作为前缀,后面可以跟一串单词,如「--version」,「--all」。

选项自己的参数即可以放在后面用空格隔开,可以使用「=」,如「--file foobar.out」等价于「--file=foobar.out」。

这种GNU风格的选项常被称之为『长选项』(Long Options),而Unix风格的为『短选项』(Short Options)。

通常来说短选项都有与之对应的长选项,如「-a,--all」、「-V,--version」。

命令行参数前的「-」和「--」区别

标签:等价   空格   bar   命令行选项   com   argument   https   设计   oba   

原文地址:https://www.cnblogs.com/a-s-m/p/11109294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!