V bash skriptu if příkaz kontroluje, zda je podmínka pravdivá nebo ne. Pokud ano, shell provede blok kódu spojený s příkazem if. Pokud příkaz není pravdivý , shell skočí za konec bloku příkazu if a pokračuje dál.
V této příručce se naučíme, jak používat příkazy if, if else, If..elif..else..fi. Příkaz if-else je ve skriptu bash také známý jako podmíněný příkaz.
Pokud prohlášení
Syntaxe:
if [ condition_command ]
then
command1
command2
……..
last_command
fi
Příklad:
V níže uvedeném příkladu bash skriptu porovnáváme dvě čísla pomocí příkazu if condi.
#!/bin/bashnumber=150if [ $number -eq 150 ]potom echo "Číslo je 150"fi
příkaz if-else
Kromě normálního příkazu if můžeme příkaz if rozšířit o blok else. Základní myšlenkou je, že pokud je příkaz pravdivý , proveďte blok if. Pokud je příkaz nepravdivý, proveďte blok else. Zde blok je sada příkazů.
Syntaxe:
if [ condition_command ]
then
command1
command2
……..
last_command
else
příkaz1
……..
last_command
fi
Příklad:
#!/bin/bashnumber=150if [ $number -gt 250 ]pak echo "Číslo je větší" jinak echo "Číslo je menší"fi
Prohlášení If..elif..else
Pokud chcete ve skriptu bash použít více podmínek pomocí příkazu if, použijte „if elif else“. V tomto typu podmíněného příkazu, pokud je splněna první podmínka, bude proveden kód pod ní, jinak bude zaškrtnuta podmínka a pokud nebude splněna, budou provedeny příkazy uvedené níže, příkaz else. Jeho syntaxe a příklad jsou uvedeny níže.
Syntaxe:
if [ condition_command ]
then
command1
command2
……..
last_command
elif [ condition_command2 ]
then
příkaz2
……..
last_command
else
command1
command2
……..
last_command
fi
Příklad :
#!/bin/bashnumber=150if [ $číslo -gt 300 ]pak echo "Číslo je větší"elif [ $číslo -lt 300 ]pak echo "Číslo je menší"jinak echo "Číslo se rovná skutečné hodnotě" fi
Vnořené příkazy if
Příkaz if a příkaz else lze vnořit do bash skriptu. Klíčové slovo ‚fi‘ ukazuje konec vnitřního příkazu if a příkaz all if by měl končit klíčovým slovem ‚fi‘.
Základní syntaxe vnořeného if je uvedena níže:
if [ condition_command ]
then
command1
command2
……..
last_command
else
if [ condition_command2 ]
then
příkaz1
příkaz2
……..
last_command
else
příkaz1
>
… . last_command
fi
fi
Příklad:
#!/bin/bashnumber=150if [ $číslo -eq 150 ]pak echo "Číslo je 150"elseif [ $číslo -gt 150 ]pak echo "Číslo je větší"jinak echo "'Číslo je menší" fifi
Linux