Spec-Zone.ru › Fish 3.3

switch - условно выполнить блок команд

Синтаксис

switch VALUE; [case [WILDCARD...]; [COMMANDS...]; ...] end

Описание

switch выполняет один из нескольких блоков команд в зависимости от того, равно ли указанное значение одному из нескольких значений с подстановкой. case используется вместе с оператором switch для определения, какой блок должен быть выполнен.

Каждая команда case получает один или несколько параметров. Первая команда case с параметром, соответствующим строке, указанной в команде switch, будет вычислена. case параметры могут содержать подстановки. Их необходимо экранировать или заключить в кавычки, чтобы избежать расширения подстановок по умолчанию, используемых для имен файлов.

Обратите внимание, что fish не переходит к следующему случаю в операторе case. Выполняется только первый совпадающий случай.

Обратите внимание, что подстановки команд в операторе case будут вычислены даже если его тело не будет взято. Все подстановки, включая подстановки команд, должны быть выполнены перед сравнением значения с параметром.

Пример

Если переменная $animal содержит имя животного, следующий код попытается его классифицировать:

switch $animal
    case cat
        echo evil
    case wolf dog human moose dolphin whale
        echo mammal
    case duck goose albatross
        echo bird
    case shark trout stingray
        echo fish
    case '*'
        echo I have no idea what a $animal is
end

Если вышеприведённый код был запущен с $animal, установленным в whale, вывод составит mammal.

© 2021 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.3/cmds/switch.html

Spec-Zone.ru

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