logo

Bash se altro

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

Istruzione Bash If Else

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

Istruzione Bash If Else

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:

Istruzione Bash If Else

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 &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'>