fish_opt - создание спецификации параметра для команды argparse
Синтаксис
fish_opt [ -h | --help ] fish_opt ( -s X | --short=X ) [ -l LONG | --long=LONG ] [ --long-only ] [ -o | --optional-val ] [ -r | --required-val ] [ --multiple-vals ]
Описание
Эта команда предоставляет способ создания спецификаций параметров, подходящих для использования с командой 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
© 2020 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.2/cmds/fish_opt.html