fish_opt - создание спецификации опции для команды argparse
Синтаксис
fish_opt [(-slor | --multiple-vals=) OPTNAME] fish_opt --help
Описание
Эта команда предоставляет способ создания спецификаций опций, подходящих для использования с командой argparse. Конечно, вы можете написать спецификации опций вручную, без использования этой команды. Но вы можете предпочесть использовать эту команду для большей ясности.
Доступны следующие argparse опции:
- -s или --short
-
Принимает одиночную букву, используемую в качестве короткого флага определяемой опции. Эта опция обязательна.
- -l или --long
-
Принимает строку, используемую в качестве длинного флага определяемой опции. Эта опция необязательна и не имеет значения по умолчанию. Если длинный флаг не определен, при анализе аргументов с использованием спецификации опции будет разрешен только короткий флаг.
- --long-only
-
Определяемая опция будет разрешать использовать только имя длинного флага. Короткое имя флага всё ещё должно быть определено (т.е., необходимо указать --short), но оно не может использоваться при анализе аргументов с использованием этой спецификации опции.
- -o или --optional-val
-
Определяемая опция может принимать значение, но оно является необязательным, а не обязательным. Если опция встречается более одного раза при анализе аргументов, сохраняется только последнее увиденное значение. Это означает, что результирующая переменная флага, созданная
argparse, будет иметь ноль элементов, если со значением опции не было дано значение, в противном случае она будет содержать ровно один элемент. - -r или --required-val
-
Определяемая опция требует значения. Если опция встречается более одного раза при анализе аргументов, сохраняется только последнее увиденное значение. Это означает, что результирующая переменная флага, созданная
argparse, будет содержать ровно один элемент. - --multiple-vals
-
Определяемая опция требует значения каждый раз, когда она встречается. Каждый экземпляр сохраняется. Это означает, что результирующая переменная флага, созданная
argparse, будет содержать один элемент для каждого экземпляра этой опции в аргументах. - -h или --help
-
Отображает справку по использованию этой команды.
Примеры
Определите спецификацию одной опции для флага помощи boolean:
set -l options (fish_opt -s h -l help) argparse $options -- $argv
То же самое, что выше, но со вторым флагом, который требует значения:
set -l options (fish_opt -s h -l help) set options $options (fish_opt -s m -l max --required-val) argparse $options -- $argv
То же самое, что выше, но с третьим флагом, который можно указывать несколько раз, сохраняя значение каждого увиденного экземпляра, и используется только имя длинного флага (--token) :
set -l options (fish_opt --short=h --long=help) set options $options (fish_opt --short=m --long=max --required-val) set options $options (fish_opt --short=t --long=token --multiple-vals --long-only) argparse $options -- $argv
© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.6/cmds/fish_opt.html