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
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 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í:
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 'Enter a value:' value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo '$value>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'>