Я использую fi sh 3.1.0 в OS X 10.14.5.
Я новичок в fi sh и в 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 и его параметром?
Это сводит меня с ума. Я прочитал документацию десятки раз. Что я делаю не так?
PS Порядок переключателей не имеет значения.