switch(1)
On 9 stycznia, 2022 by adminNazwa
switch – warunkowe wykonanie bloku poleceń
Synopsis
switch VALUE; ; ; …] end
Opis
Instrukcja switch jest używana do wykonania jednego z kilku bloków poleceń w zależności od tego, czy określona wartość jest równa jednej z kilku wildcardedvalues. Instrukcja case jest używana razem z instrukcją switch w celu określenia, który blok powinien zostać wykonany.
Każde polecenie case ma jeden lub więcej parametrów. Pierwsze polecenie case z parametrem, który pasuje do łańcucha określonego w switchcommand zostanie obliczone. parametry case mogą zawierać symbole wieloznaczne. Muszą one być escape’owane lub cytowane w celu uniknięcia regularnego rozszerzania nazw plików za pomocą symboli wieloznacznych.
Zauważ, że ryba nie przechodzi przez instrukcje case. Chociaż składnia może wyglądać trochę jak instrukcje switch w C, zachowuje się ona bardziej jak instrukcje case w tradycyjnych powłokach.
Zauważ także, że podstawienia poleceń w instrukcji case będą obliczane nawet jeśli jej ciało nie zostanie podjęte. Na początku może się to wydawać sprzeczne z intuicją, ale jest nieuniknione, ponieważ nie można wiedzieć, czy polecenie case będzie miało wartość true, zanim nie zostaną wykonane wszystkie formy interpretacji parametrów dla polecenia case.
Przykład
Jeżeli zmienna $animal zawiera nazwę zwierzęcia, następujący kod spróbuje je sklasyfikować:
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 isend
Jeżeli powyższy kod zostałby uruchomiony z $animal ustawionym na whale, wynikiem byłby ssak.
Dodaj komentarz