Podmíněné příkazy Bash provádějí různé výpočty nebo akce v závislosti na tom, zda se programátorem specifikovaná booleovská podmínka vyhodnotí jako pravdivá nebo nepravdivá. Tyto příkazy se používají k provádění různých částí vašeho shell programu v závislosti na tom, zda jsou splněny určité podmínky. Díky schopnosti větvení jsou skripty shellu výkonné.
V Bash máme následující podmíněné příkazy:
- if..then..fi prohlášení (Jednoduché If)
- if..then..else..fi prohlášení (If-Else)
- if..elif..else..fi prohlášení (Else If žebřík)
- if..then..else..if..then..fi..fi..(Vnořeno, pokud)
Jsou podobné příkazům awk if, o kterých jsme hovořili dříve.
1. Bash If..then..fi prohlášení
if [ conditional expression ] then statement1 statement2 . fi
Tento příkaz if se také nazývá jednoduchý příkaz if. Pokud je daný podmíněný výraz pravdivý, zadá a provede příkazy uzavřené mezi klíčovými slovy „then“ a „fi“. Pokud daný výraz vrátí nulu, provede se následný seznam příkazů.
if then fi příklad:
#!/bin/bash count=100 if [ $count -eq 100 ] then echo "Count is 100" fi
2. Bash If..then..else..fi prohlášení
If [ conditional expression ] then statement1 statement2 . else statement3 statement4 . fi
Pokud je podmíněný výraz pravdivý, provede příkaz 1 a 2. Pokud podmíněný výraz vrátí nulu, skočí na část else a provede příkaz 3 a 4. Po provedení části if/else se provádění obnoví s následnými příkazy.
if then else fi příklad:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else echo "Count is not 100" fi
Poznámka: Tento článek je součástí probíhající série Bash Tutorial.
3. Bash If..elif..else..fi
If [ conditional expression1 ] then statement1 statement2 . elif [ conditional expression2 ] then statement3 statement4 . . . else statement5 fi
Toto můžete použít if .. elif.. if , pokud chcete vybrat jeden z mnoha bloků kódu ke spuštění. Zkontroluje výraz 1, pokud je pravdivý, provede příkaz 1,2. Pokud je výraz1 nepravdivý, zkontroluje výraz2, a pokud jsou všechny výrazy nepravdivé, vstoupí do bloku else a provede příkazy v bloku else.
if then elif then else fi příklad:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" elif [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi
4. Bash If..then..else..if..then..fi..fi...
If [ conditional expression1 ] then statement1 statement2 . else if [ conditional expression2 ] then statement3 . fi fi
Příkaz if a příkaz else by mohly být vnořeny do bash. Klíčové slovo „fi“ označuje konec vnitřního příkazu if a příkaz all if by měl končit klíčovým slovem „fi“.
Výše uvedený příklad „if then elif then else fi“ lze převést na vnořený, jak je znázorněno níže.
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else if [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi fi
V našem dalším článku si probereme, jak používat podmíněné výrazy Bash s praktickými příklady.
Doporučená četba
Bash 101 Hacks, od Rameshe Natarajan . Většinu času trávím v prostředí Linuxu. Takže jsem přirozeně velkým fanouškem Bash příkazového řádku a skriptování v shellu. Před 15 lety, když jsem pracoval na různých variantách *nix, jsem psal hodně kódu na C shellu a Korn shellu. Později, když jsem začal pracovat na Linuxu jako správce systému, jsem téměř automatizoval všechny možné úkoly pomocí skriptování v prostředí Bash. Na základě mých zkušeností s Bash jsem napsal e-knihu Bash 101 Hacks, která obsahuje 101 praktických příkladů jak pro příkazový řádek Bash, tak pro skriptování shellu. Pokud přemýšlíte o zvládnutí Bash, udělejte si laskavost a přečtěte si tuto knihu, která vám pomůže převzít kontrolu nad příkazovým řádkem Bash a skriptováním shellu.