Podmíněná prohlášení: Existuje celkem 5 podmíněných příkazů, které lze použít v programování bash
- if prohlášení
- if- else prohlášení
- if..elif..else..fi prohlášení (Else If žebřík)
- pokud..tak..jinak..pokud..pak..fi..fi..(vnořeno, pokud)
- příkaz switch
Jejich popis se syntaxí je následující:
if prohlášení
Tento blok bude zpracován, pokud je zadaná podmínka pravdivá.
Syntax:
if [ expression ] then statement fi>
if- else prohlášení
Pokud zadaná podmínka není pravdivá v části if, bude provedena jiná část.
Syntax
if [ expression ] then statement1 else statement2 fi>
if..elif..else..fi prohlášení (Else If žebřík)
Chcete-li použít více podmínek v jednom bloku if-else, použije se v shellu klíčové slovo elif. Pokud je výraz1 pravdivý, provede příkaz 1 a 2 a tento proces pokračuje. Pokud žádná z podmínek není pravdivá, zpracuje jinou část.
Syntax
if [ expression1 ] then statement1 statement2 . . elif [ expression2 ] then statement3 statement4 . . else statement5 fi>
pokud..tak..jinak..pokud..pak..fi..fi..(vnořeno, pokud)
Vnořený blok if-else lze použít, když je splněna jedna podmínka, pak znovu kontroluje jinou podmínku. V syntaxi, pokud je výraz1 nepravdivý, zpracuje část else a znovu se zkontroluje výraz2.
Syntax:
if [ expression1 ] then statement1 statement2 . else if [ expression2 ] then statement3 . fi fi>
příkaz switch
Příkaz case funguje jako příkaz switch, pokud se zadaná hodnota shoduje se vzorem, pak provede blok tohoto konkrétního vzoru
Když je nalezena shoda, všechny související příkazy, dokud se neprovede dvojitý středník (;;).
Případ bude ukončen po provedení posledního příkazu.
Pokud není shoda, výstupní stav případu je nula.
Syntax:
case in Pattern 1) Statement 1;; Pattern n) Statement n;; esac>
Příklady programů
Příklad 1:
Prováděníif>prohlášení
#Initializing two variables> a=10> b=20> > #Check whether they are equal> if> [>$a> ==>$b> ]> then> >echo> 'a is equal to b'> fi> > #Check whether they are not equal> if> [>$a> !=>$b> ]> then> >echo> 'a is not equal to b'> fi> |
>
>
Výstup
$bash -f main.sh a is not equal to b>
Příklad 2:
Prováděníif.else>prohlášení
#Initializing two variables> a=20> b=20> > if> [>$a> ==>$b> ]> then> >#If they are equal then>print> this> >echo> 'a is equal to b'> else> >#>else> print> this> >echo> 'a is not equal to b'> fi> |
>
>
Výstup
$bash -f main.sh a is equal to b>
Příklad 3:
Prováděníswitch>prohlášení
CARS=>'bmw'> > #Pass the variable in string> case> '$CARS'> in> >#>case> 1> >'mercedes'>)>echo> 'Headquarters - Affalterbach, Germany'> ;;> > >#>case> 2> >'audi'>)>echo> 'Headquarters - Ingolstadt, Germany'> ;;> > >#>case> 3> >'bmw'>)>echo> 'Headquarters - Chennai, Tamil Nadu, India'> ;;> esac> |
>
>
Výstup
$bash -f main.sh Headquarters - Chennai, Tamil Nadu, India.>
Poznámka: Skriptování shellu je jazyk citlivý na velká a malá písmena, což znamená, že při psaní skriptů je třeba dodržovat správnou syntaxi.
co je f5 na klávesnici