Řídicí konstrukce větvení
Stránky: | E-learning VŠCHT Praha |
Kurz: | Linux, shell |
Kniha: | Řídicí konstrukce větvení |
Vytiskl(a): | Nepřihlášený host |
Datum: | čtvrtek, 4. července 2024, 10.25 |
1. Řídicí konstrukce case
Popis
Konstrukce case slouží pro větvení programu. Definovaný výčet různých vzorů se porovnává s obsahem definované proměnné var. Při shodě vzoru s obsahem proměnné se vykonají příkazy přiřazené danému vzoru. Při první nalezené shodě se další vzory neuvažují. Konstrukce case končí klíčovým slovem esac.
Ve vzorech je možné používat symboly a operátory jako pro expansi cesty. Vzory je možné kombinovat logickým operátorem |. Každý vzor je ukončen symbolem ).
Výčet příkazů přiřazených vzoru je zakončen symbolem ;;.
Ukázka možných vzorů
Vzor | Význam | |
---|---|---|
c) | samostatný znak
|
|
c|C) | samostatný znak (např. case-insensitive volba)
|
|
[[:digit:]]) | znaky dané znakovou třídou
|
|
[ABC]) | znaky dané výčtem
|
|
[0-9]) | znaky dané rozsahem
|
|
???) | konkrétní počet libovolných znaků
|
|
*.txt) | libovolný počet libovolných znaků s blíže specifikovanou částí řetězce
|
|
*) | libovolná hodnota
|
Syntaxe
case var in
vzor [| vzor]...) příkazy ;;
esac
Příklad
2. Řídicí konstrukce select
Popis
Konstrukce select poskytuje cyklickou nabídku volby číselné hodnoty, která je indexem položky definovaného listu hodnot.
Na základě zvolené číselné hodnoty konstrukce přiřadí proměnné var příslušnou hodnotu z listu a pro takto zvolenou proměnnou vykoná dále uvedené příkazy. V případě volby číselné hodnoty mimo rozsah indexu ponechá proměnnou var prázdnou. Konstrukce je zakončena klíčovým slovem done. Cyklus volby se stále opakuje, dokud není přerušen uživatelem (Ctrl + d) nebo pomocí příkazu break uvedeného v těle konstrukce.
Syntaxeselect var in list; do
příkazy
[break]
done
Příklad