In questo argomento, capiremo come utilizzare le istruzioni if-else negli script Bash per completare le nostre attività automatizzate.
Le istruzioni if-else di Bash vengono utilizzate per eseguire attività condizionali nel flusso sequenziale di esecuzione delle istruzioni. A volte, vogliamo elaborare un insieme specifico di istruzioni se una condizione è vera e un altro insieme di istruzioni se è falsa. Per eseguire questo tipo di azioni, possiamo applicare il meccanismo if-else. Possiamo applicare la condizione con l'istruzione 'if'.
Sintassi Bash If Else
Una sintassi dell'istruzione if-else in Bash Shell Scripting può essere definita come di seguito:
if [ condition ]; then else fi
Punti importanti da ricordare
- Possiamo utilizzare un insieme di una o più condizioni unite tramite operatori condizionali.
- Altrimenti i comandi del blocco includono una serie di azioni da eseguire quando la condizione è falsa.
- Il punto e virgola (;) dopo l'espressione condizionale è obbligatorio.
Dai un'occhiata ai seguenti esempi che dimostrano l'uso dell'istruzione if-else in Bash Script:
stringa formattata c
Esempio 1
L'esempio seguente è costituito da due diversi scenari in cui nella prima istruzione if-else la condizione è vera e nella seconda istruzione if-else la condizione è 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
Produzione
Nella prima espressione if-else, la condizione ( 10 -gt 3 ) è vera e quindi viene eseguita l'istruzione nel blocco if. Mentre nell'altra espressione if-else, la condizione ( 3 -gt 10 ) è falsa e quindi viene eseguita l'istruzione nel blocco else.
Esempio 2
In questo esempio, abbiamo spiegato come utilizzare più condizioni con l'istruzione if-else in Bash. Utilizziamo gli operatori logici bash per unire più condizioni.
#!/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
Produzione
Bash If Else Istruzione in una singola riga
Possiamo scrivere un''istruzione if-else' completa insieme ai comandi in un'unica riga. È necessario seguire le regole fornite per utilizzare l'istruzione if-else in una singola riga:
- Utilizzare un punto e virgola (;) alla fine delle istruzioni nei blocchi if ed else.
- Utilizza gli spazi come delimitatore per aggiungere tutte le istruzioni.
Di seguito viene fornito un esempio che mostra come utilizzare l'istruzione if-else in una singola riga:
Esempio
#!/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
Produzione
char + int in Java
Quando inseriamo un valore come 25, l'output sarà simile a:
Bash nidificato se altro
Proprio come l'istruzione if annidata, l'istruzione if-else può essere utilizzata anche all'interno di un'altra istruzione if-else. Si chiama annidato if-else nello scripting Bash.
Di seguito è riportato un esempio che spiega come utilizzare l'istruzione if-else nidificata in Bash:
Esempio
#!/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'>