Istruzioni condizionali (if, else, elif)
Implementi la logica decisionale nei Suoi script usando le istruzioni «if», «else» ed «elif» per ottenere un comportamento dinamico.
Istruzioni condizionali (if, else, elif) è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
Perché le istruzioni condizionali sono importanti
Negli script Bash, a volte è necessario che lo script prenda delle decisioni. Immagini uno script che esegue azioni diverse in base all'input dell'utente o all'esistenza di un file.
È qui che entrano in gioco le istruzioni condizionali! Consentono allo script di eseguire specifici blocchi di codice solo quando determinate condizioni sono soddisfatte.
L'istruzione 'if' di base
La condizione più semplice è l'istruzione if. Verifica una condizione e, se è vera, viene eseguito un blocco di comandi.
La sintassi è:
if [ condition ]then# commands if condition is truefi(indica la fine del bloccoif)
Il primo script con 'if'
Vediamo in azione una semplice istruzione if. Questo script verifica se un numero è maggiore di 5.
Provi a modificare il valore di NUMBER ed eseguirlo!
#!/bin/bash
NUMBER=10
if [ $NUMBER -gt 5 ]
then
echo "The number $NUMBER is greater than 5."
fi
echo "Script finished."Creazione delle condizioni di test
La parte [ condition ] è fondamentale. In realtà si tratta di un comando chiamato test o del suo alias [.
È anche possibile utilizzare [[ condition ]], una versione più avanzata che offre una sintassi migliore e previene i problemi di suddivisione delle parole. Per chi è alle prime armi, [ ] è la forma più comune.
- Inserisca sempre spazi intorno alle parentesi e agli operatori.
- Le variabili all'interno di
[ ]dovrebbero generalmente essere racchiuse tra virgolette (ad esempio,"$VARIABLE") per evitare errori con valori vuoti o composti da più parole.
Confronto tra numeri
Quando si confrontano numeri in Bash, si utilizzano operatori specifici:
-eq: uguale a-ne: diverso da-gt: maggiore di-ge: maggiore o uguale a-lt: minore di-le: minore o uguale a
Questi operatori vengono utilizzati all'interno di [ ] o [[ ]].
Confronto tra stringhe
Per confrontare il testo (le stringhe), si utilizzano operatori diversi:
==o=: uguale a (==è preferibile in[[ ]])!=: diverso da-z "$STRING": vero se la stringa è vuota (lunghezza zero)-n "$STRING": vero se la stringa non è vuota (lunghezza diversa da zero)
Si ricordi di racchiudere tra virgolette le variabili stringa!
L'istruzione 'if-else'
E se si desiderasse eseguire un blocco di codice quando una condizione è vera e un blocco diverso quando è falsa?
È proprio questo lo scopo di if-else! Fornisce un percorso alternativo per lo script.
La sintassi è:
if [ condition ]then# commands if trueelse# commands if falsefi
'if-else' in azione
Questo script chiede un numero e comunica se è positivo o meno. Utilizza una struttura if-else.
Lo esegua più volte con input diversi (ad esempio 5, -3, 0).
#!/bin/bash
read -p "Enter a number: " NUM
if [ "$NUM" -gt 0 ]
then
echo "$NUM is a positive number."
else
echo "$NUM is not a positive number (it's zero or negative)."
fiPiù alternative con 'elif'
Quando sono possibili più di due risultati, è possibile utilizzare elif (abbreviazione di "else if"). In questo modo si possono verificare più condizioni in sequenza.
La sintassi è:
if [ condition1 ]then# commands if condition1 is trueelif [ condition2 ]then# commands if condition1 is false AND condition2 is trueelse# commands if all conditions are falsefi
Logica decisionale avanzata
Creiamo uno script che categorizzi l'età di un utente utilizzando if, elif ed else. In questo modo vengono gestiti più scenari.
Noti l'uso di && per combinare le condizioni in [[ ]] (AND logico).
#!/bin/bash
read -p "Enter your age: " AGE
if [[ $AGE -lt 13 ]]
then
echo "You are a child."
elif [[ $AGE -ge 13 && $AGE -lt 18 ]]
then
echo "You are a teenager."
elif [[ $AGE -ge 18 && $AGE -lt 65 ]]
then
echo "You are an adult."
else
echo "You are a senior citizen."
fiVerifica delle condizioni
Consideri il seguente script Bash:
#!/bin/bash
SCORE=85
if [ $SCORE -lt 60 ]
then
echo "Fail"
elif [ $SCORE -lt 80 ]
then
echo "Pass"
else
echo "Distinction"
fiRiepilogo delle istruzioni condizionali
Ottimo lavoro! Ha imparato a rendere più intelligenti gli script Bash con le istruzioni condizionali.
- L'istruzione
ifesegue il codice se una condizione è vera. elsefornisce un percorso alternativo se la condizione diifè falsa.elifconsente di verificare più condizioni in sequenza.- Si ricordi di utilizzare gli operatori appropriati (
-eqper i numeri,==per le stringhe) e di chiudere sempre i blocchiifconfi.
Questi strumenti sono fondamentali per creare script dinamici e interattivi!
Domande Frequenti
La lezione «Istruzioni condizionali (if, else, elif)» è gratuita?
Sì — il testo completo di «Istruzioni condizionali (if, else, elif)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Istruzioni condizionali (if, else, elif)»?
Implementi la logica decisionale nei Suoi script usando le istruzioni «if», «else» ed «elif» per ottenere un comportamento dinamico. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Istruzioni condizionali (if, else, elif)»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Primo script Bash e shebang
- Variabili e input dell’utente
- Istruzioni condizionali (if, else, elif)
- Lavorare con gli array in Bash