switch(1)
On ianuarie 9, 2022 by adminNume
switch – execută condiționat un bloc de comenzi
Sinopsis
switch VALUE; ; ; ; …] end
Descriere
Instrucțiunea switch este utilizată pentru a executa unul din mai multe blocuri de comenzi în funcție de faptul dacă o valoare specificată este egală cu una din mai multe valori wildcarded. Instrucțiunea case este utilizată împreună cu instrucțiunea switch pentru a determina ce bloc trebuie executat.
Cărei comenzi case i se atribuie unul sau mai mulți parametri. Prima comandă case cu un parametru care se potrivește cu șirul de caractere specificat în comanda switch va fi evaluată. parametrii case pot conține wildcards. Aceștia trebuie să fie scăpați sau citați pentru a evita expansiunea regulată a caracterelor wildcard folosind nume de fișiere.
Rețineți că fish nu se încadrează în instrucțiunile case. Deși sintaxa poate semăna puțin cu declarațiile switch din C, se comportă mai mult ca declarațiile case din shell-urile tradiționale.
Rețineți, de asemenea, că substituțiile de comenzi dintr-o declarație case vor fi evaluate chiar dacă corpul acesteia nu este luat. Acest lucru poate părea contraintuitiv la început, dar este inevitabil, deoarece ar fi imposibil de știut dacă o comandă case va fi evaluată la true înainte ca toate formele de expansiune a parametrilor să fi fost efectuate pentru comanda case.
Exemplu
Dacă variabila $animal conține numele unui animal, următorul cod va încerca să îl clasifice:
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
Dacă codul de mai sus a fost rulat cu $animal setat la balenă, rezultatul va fi mamifer.
Lasă un răspuns