我正在OS X 10.14.5上运行fish 3.1.0。
我是新来的鱼和argparse。我都喜欢。
以下简单的测试代码:
#!/usr/local/bin/fish
function afoo
set -l options (fish_opt -s h -l help)
set options $options (fish_opt -s m -l max --required-val)
set options $options (fish_opt -s n -l nnn --optional-val)
argparse $options -- $argv
echo "max" $_flag_max
echo "nnn" $_flag_nnn
end
应创建两个开关m和n。 m 必须取值,而n 可以取值。
在终端的CLI中测试基本功能时,这是一个简单的屏幕抓取:
[/usr/local/bin/fish 3.1.0] ~ afoo -m foo -n baz
max foo
nnn
[/usr/local/bin/fish 3.1.0] ~ afoo -mfoo -nbaz
max foo
nnn baz
[/usr/local/bin/fish 3.1.0] ~
为什么argparse 不解析-n开关及其参数之间的空间,却 解析-m开关及其参数之间的空间?
这真让我发疯。我已经阅读了十多次文档。我在做什么错了?
P.S。开关的顺序无关紧要。