Spec-Zone.ru › Fish 3.3

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API