我十分好奇为什么在命令行中有的参数前面有一个“-”,有的参数有两个“-”,有的则没有。我想知道这个有什么含义吗?是一种约定俗成的规范吗?
例如
git init
git --version
ls -a
等等吧。
我十分好奇为什么在命令行中有的参数前面有一个“-”,有的参数有两个“-”,有的则没有。我想知道这个有什么含义吗?是一种约定俗成的规范吗?
例如
git init
git --version
ls -a
等等吧。
git采用的是posix参数风格语法。
当然参数风格不是posix一种,还有java风格(不分短参数和长参数,统一用一个-
代表option, 比如java -jar
, java -cd
, java -D
等等),还有bsd风格(不使用-
引导option,统一用一个字母代表option,并且可以连写,比如ps aux
,tar xvf file.tar
, 7z x file.7z
等等,就是典型的BSD风格)等等
同意 @Feng_Yu 的回答,但还有一种既不好记又不好看的写法,举例参见 gcc 的命令行参数 -Wall 的解释:
https://gcc.gnu.org/onlinedoc...
-Wall 参数默认包含如下参数:
-Waddress
-Warray-bounds=1 (only with -O2)
-Wbool-compare
-Wbool-operation
-Wc++11-compat -Wc++14-compat
-Wcatch-value (C++ and Objective-C++ only)
...
一般情况下的约定。一个
-
表示简写。两个表示全写,或者命令中包含-