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
-
Отображает справку по использованию этой команды.
Примеры
Определите одну спецификацию опции для логического флага help:
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.4/cmds/fish_opt.html