文章目录
命令行参数很复杂,通过 --help 会看到很多符号,比如 [] {} () <> | ...,他们都是什么意思呢?一般格式如下:
bash
命令<必选参数1|必选参数2>[-option {必选参数1|必选参数2|必选参数3}][可选参数...]{(默认参数)|参数|参数}
示例如下:
bash
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
命令行常见符号:
{}、[]、<>、()、|、...
一、没有括号
没有括号包裹的是必填参数,如:
bash
cat [-AbeEnstTuv] [--help] [--version] fileName
fileName 没有被括号包裹,所以是必填参数
bash
cat a.txt
二、[]
表示可选
bash
ls [-alrtAFR] [name]
即 ls 命令的 -a -l -r -t -A -F -R
和 name
都是可选的
bash
$ ls
$ ls -a
$ ls -l data
三、{}
大括号 {} 表示括号内的参数任选其一,比较少见。
如下 -l、-r、-e 任选其一。
bash
crontab [ -u user ] { -l | -r | -e }
四、<>
尖括号 <>表示必须被替换的占位。如
bash
cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
cmp 用来比较两个文件的差异,-i <字符数目>
用来指定忽略的字符数目,当添加 -i
参数时必须指定值:
bash
$ cmp a.txt b.txt
$ cmp -i a.txt b.txt //error
$ cmp -i 10 a.txt b.txt
五、...
省略号 ...表示该参数可以多次重复
bash
which [文件...]
可以看到,which 命令可以重复参数
bash
$ which ls pwd cd docker jq
ls: aliased to ls -G
pwd: shell built-in command
cd: shell built-in command
/usr/local/bin/docker
/opt/homebrew/bin//jq
六、|
管道符 |表示|两边的参数任选其一。
bash
crontab [ -u user ] { -l | -r | -e }
七、()
小括号( ):指明参数的默认值,只用于{ }中