logo

Bash If Else

En aquest tema, entendrem com utilitzar les declaracions if-else als scripts de Bash per completar les nostres tasques automatitzades.

Les sentències Bash if-else s'utilitzen per realitzar tasques condicionals en el flux seqüencial d'execució de sentències. De vegades, volem processar un conjunt específic d'enunciats si una condició és certa i un altre conjunt d'enunciats si és falsa. Per realitzar aquest tipus d'accions, podem aplicar el mecanisme if-else. Podem aplicar la condició amb la declaració 'if'.

Sintaxi Bash If Else

Una sintaxi de la sentència if-else a Bash Shell Scripting es pot definir de la següent manera:

 if [ condition ]; then else fi 

Punts importants a recordar

  • Podem utilitzar un conjunt d'una o més condicions unides mitjançant operadors condicionals.
  • Les ordres de bloc Else inclouen un conjunt d'accions per dur a terme quan la condició és falsa.
  • El punt i coma (;) després de l'expressió condicional és imprescindible.

Consulteu els exemples següents que demostren l'ús de la sentència if-else a Bash Script:

Exemple 1

L'exemple següent consta de dos escenaris diferents on a la primera declaració if-else, la condició és certa, i a la segona declaració if-else, la condició és falsa.

 #!/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 

Sortida

Declaració Bash If Else

A la primera expressió if-else, la condició ( 10 -gt 3 ) és certa i, per tant, s'executa la instrucció del bloc if. Mentre que a l'altra expressió if-else, la condició ( 3 -gt 10 ) és falsa i, per tant, s'executa la instrucció del bloc else.

Exemple 2

En aquest exemple, vam explicar com utilitzar diverses condicions amb la instrucció if-else a Bash. Utilitzem operadors lògics bash per unir múltiples condicions.

 #!/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 

Sortida

Declaració Bash If Else

Declaració Bash If Else en una única línia

Podem escriure 'instrucció if-else' completa juntament amb les ordres en una sola línia. Heu de seguir les regles donades per utilitzar la declaració if-else en una sola línia:

  • Utilitzeu un punt i coma (;) al final de les declaracions als blocs if i else.
  • Utilitzeu espais com a delimitador per afegir totes les declaracions.

A continuació es mostra un exemple que mostra com utilitzar la declaració if-else en una sola línia:

Exemple

 #!/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 

Sortida

Quan introduïm un valor com a 25, la sortida serà així:

Declaració Bash If Else

Bash nidat en cas contrari

Igual que la declaració if imbricada, la sentència if-else també es pot utilitzar dins d'una altra instrucció if-else. S'anomena imbricat if-else en els scripts de Bash.

A continuació es mostra un exemple que explica com fer ús de la declaració imbricada if-else a Bash:

Exemple

 #!/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'>