我用配置文件解析器和 cli 选项构建了一个程序。
我的目标是有这个优先顺序:
- CLI 选项配置
- 强制配置文件
- 硬编码的默认配置
在使用 argp 解析我的 CLI 参数时,我需要先读取配置文件的路径(这不是一个选项),然后是其他 CLI 选项来覆盖配置文件设置。
ARGP_IN_ORDER
如 glibc argp 文档中所述,除非您使用该标志,否则首先读取选项然后读取非选项参数。在这种情况下,参数是从头到尾读取的(选项与否)。
在这种情况下,我的第一个强制参数是我的配置文件的路径。除了使用输出外,所有行为都按预期运行。
我有这个 :
Usage: myprogramm [OPTION...] CONFIGURATIONFILE
我需要这个 :
Usage: myprogramm CONFIGURATIONFILE [OPTION...]
有没有办法在 Usage 输出中首先放置非可选参数?