switch(1)
On január 9, 2022 by adminNév
switch – egy parancsblokk feltételes végrehajtása
Synopsis
switch VALUE; ; ; ; …] end
Description
A switch utasítás több parancsblokk egyikének végrehajtására szolgál, attól függően, hogy egy megadott érték megegyezik-e több vadkártyás érték egyikével. A case utasítást a switch utasítással együtt használjuk annak meghatározására, hogy melyik blokkot kell végrehajtani.
Minden case parancsnak egy vagy több paramétere van. A switchparancsban megadott karakterláncnak megfelelő paraméterrel rendelkező első case parancs kerül kiértékelésre. case paraméterek tartalmazhatnak jokereket. Ezeket el kell szedni vagy idézőjelbe kell tenni, hogy elkerülhető legyen a fájlneveket használó szabályos vadkártya-kiterjesztés.
Megjegyezzük, hogy a hal nem esik át a case utasításokon. Bár a szintaxis egy kicsit úgy néz ki, mint a C switch utasítások, inkább úgy viselkedik, mint a hagyományos shell-ek case utasításai.
Megjegyzendő még, hogy a case utasításban lévő parancshelyettesítések akkor is kiértékelődnek, ha a case utasítás testét nem vesszük át. Ez elsőre ellentmondásosnak tűnhet, de elkerülhetetlen, mivel nem lehet tudni, hogy egy case parancs igaznak értékelődik-e ki, mielőtt a case parancs paraméterbővítésének minden formáját elvégeztük volna.
Példa
Ha a $animal változó egy állat nevét tartalmazza, a következő kód megpróbálná osztályozni:
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
Ha a fenti kódot úgy futtatnánk, hogy a $animal értéke bálna, a kimenet emlős lenne.
Vélemény, hozzászólás?