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