以前看书,或者一些命令行程序的帮助信息的都有 <>、[]、| 这些符号。 比如
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
我目前猜的 <> 是必须,[] 是可选,| 是或,我想问下大佬们这种叫什么表达符号,我想系统地了解一下。我前不久才知道 * 和 ? 叫做 glob 模式匹配。真学无止境啊
1
lixiang2017 2021-08-16 23:04:42 +08:00 via Android
想到了编译原理里的词法分析、自动机,应该有点关系
|
2
gainsurier 2021-08-16 23:09:53 +08:00
这些没有绝对的用法,一般是习惯或者通用的做法,了解下就好,有需求再去查阅相关文档即可。
|
3
jybox 2021-08-16 23:45:43 +08:00 2
POSIX 的约定 https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
一个试图规范化参数说明的开源项目(包含各个语言的解析器) http://docopt.org |
4
weixiangzhe 2021-08-16 23:48:47 +08:00
|
5
weixiangzhe 2021-08-16 23:51:01 +08:00
wiki 上的是上面的定义,但是日常使用上有些参数还是不太一样样子
|
6
CEBBCAT 2021-08-16 23:53:44 +08:00
我很久之前确实从某处读到过这些符号的解释,可惜现在已经忘记了。下面这两个链接也许可以解释你一部分的疑惑:
https://stackoverflow.com/q/9725675 https://docs.python.org/3/library/argparse.html |
7
xell 2021-08-16 23:53:48 +08:00
|