Spec-Zone.ru › Fish 3.2

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

Spec-Zone.ru

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