logo

Bash If Else

V tomto tématu pochopíme, jak používat příkazy if-else ve skriptech Bash k dokončení našich automatizovaných úkolů.

Příkazy Bash if-else se používají k provádění podmíněných úkolů v sekvenčním toku provádění příkazů. Někdy chceme zpracovat konkrétní sadu příkazů, pokud je podmínka pravdivá, a jinou sadu příkazů, pokud je nepravdivá. K provedení takového typu akcí můžeme použít mechanismus if-else. Podmínku můžeme použít s příkazem 'if'.

Bash If Else Syntaxe

Syntaxi příkazu if-else v Bash Shell Scripting lze definovat takto:

 if [ condition ]; then else fi 

Důležité body k zapamatování

  • Můžeme použít sadu jedné nebo více podmínek spojených pomocí podmíněných operátorů.
  • Příkazy bloku Else obsahují sadu akcí, které se mají provést, když je podmínka nepravdivá.
  • Středník (;) za podmíněným výrazem je nutností.

Podívejte se na následující příklady demonstrující použití příkazu if-else v Bash Script:

Příklad 1

Následující příklad se skládá ze dvou různých scénářů, kde v prvním příkazu if-else je podmínka pravdivá a ve druhém příkazu if-else je podmínka nepravdivá.

 #!/bin/bash #when the condition is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' else echo '10 is not greater than 3.' fi #when the condition is false if [ 3 -gt 10 ]; then echo '3 is greater than 10.' else echo '3 is not greater than 10.' fi 

Výstup

Bash If Else prohlášení

V prvním výrazu if-else je podmínka ( 10 -gt 3 ) pravdivá, a tak se provede příkaz v bloku if. Zatímco v druhém výrazu if-else je podmínka ( 3 -gt 10 ) nepravdivá, a tak se provede příkaz v bloku else.

Příklad 2

V tomto příkladu jsme vysvětlili, jak používat více podmínek s příkazem if-else v Bash. Ke spojení více podmínek používáme logické operátory bash.

 #!/bin/bash # When condition is true # TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]]; then echo 'Given condition is true.' else echo 'Given condition is false.' fi # When condition is false #TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]]; then echo 'Given condition is true.' else echo 'Given condition is not true.' fi 

Výstup

Bash If Else prohlášení

Bash If Else prohlášení v jednom řádku

Můžeme napsat kompletní 'if-else statement' spolu s příkazy na jednom řádku. Chcete-li použít příkaz if-else na jednom řádku, musíte dodržovat daná pravidla:

  • Použijte středník (;) na konci příkazů v blocích if a else.
  • K připojení všech příkazů použijte mezery jako oddělovač.

Níže je uveden příklad, který ukazuje, jak použít příkaz if-else na jednom řádku:

Příklad

 #!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then echo 'The value you typed is greater than 9.'; else echo 'The value you typed is not greater than 9.'; fi 

Výstup

Když zadáme hodnotu 25, výstup bude vypadat takto:

Bash If Else prohlášení

Bash Nested If Else

Stejně jako vnořený příkaz if lze příkaz if-else použít také v jiném příkazu if-else. Ve skriptování Bash se nazývá vnořený if-else.

Následuje příklad vysvětlující, jak využít vnořený příkaz if-else v Bash:

Příklad

 #!/bin/bash read -p &apos;Enter a value:&apos; value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo &apos;$value&gt;9, $value<11' else echo 'the value you typed is greater than 9.' fi not < pre> <p> <strong>Output</strong> </p> <p>If we enter 10 as value, then the output will look like this:</p> <img src="//techcodeview.com/img/bash-tutorial/63/bash-if-else-4.webp" alt="Bash If Else Statement"> <h2>Conclusion <p>In this topic, we have learned about the syntax and usage of <strong>Bash if-else</strong> statement with the examples.</p> <hr></h2></11'>