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
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.5/cmds/fish_opt.html