switch?options? string {pattern body?pattern body...?}
Если один или несколько первых аргументов команды начинаются с “-”, они считаются опциями команды. Возможные опции перечислены ниже.
-exact
-glob
-regexp
-
Команда предполагает использование одной из двух
синтаксических форм для задания образцов и скриптов. Первая использует отдельные
аргументы для каждого образца и скрипта. Эта форма удобна при необходимости
выполнить подстановки в образцах и/или скриптах. Во второй форме все они помещаются
в один аргумент, который должен быть списком. Элементами этого списка должны
быть, соответственно, образцы и скрипты. Эта форма более удобна для длинных
команд, не размещающихся в одной строке, поскольку она не требует использовать
обратный слеш в конце каждой строки. Но при ее использовании необходимо учитывать,
что, поскольку список содержится в фигурных скобках, подстановки команд и
переменных в образцах и скриптах не производятся. Вследствие этого результат
выполнения команды, записанной в различных формах, может различаться.
Если один из аргументов body равен ‘-’, это означает, что при совпадении строки с данным образцом будет выполняться скрипт body для следующего образца. Если для следующего образца скрипт также равен ‘-’, то будет использован скрипт для следующего за ним образца и т.д.
Ниже приведены примеры использования команды switch.
Команда
Команда
А команда