关于 <>、[]、| 之类的符号

2021-08-16 21:47:09 +08:00
 MakHoCheung

以前看书,或者一些命令行程序的帮助信息的都有 <>、[]、| 这些符号。 比如

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 模式匹配。真学无止境啊

1502 次点击
所在节点    问与答
7 条回复
lixiang2017
2021-08-16 23:04:42 +08:00
想到了编译原理里的词法分析、自动机,应该有点关系
gainsurier
2021-08-16 23:09:53 +08:00
这些没有绝对的用法,一般是习惯或者通用的做法,了解下就好,有需求再去查阅相关文档即可。
jybox
2021-08-16 23:45:43 +08:00
POSIX 的约定 https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
一个试图规范化参数说明的开源项目(包含各个语言的解析器) http://docopt.org
weixiangzhe
2021-08-16 23:48:47 +08:00
weixiangzhe
2021-08-16 23:51:01 +08:00
wiki 上的是上面的定义,但是日常使用上有些参数还是不太一样样子
CEBBCAT
2021-08-16 23:53:44 +08:00
我很久之前确实从某处读到过这些符号的解释,可惜现在已经忘记了。下面这两个链接也许可以解释你一部分的疑惑:

https://stackoverflow.com/q/9725675
https://docs.python.org/3/library/argparse.html
xell
2021-08-16 23:53:48 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/796160

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX