0Pricing
DevOps Bootcamp · Lezione

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 true
  • fi (indica la fine del blocco if)

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 true
  • else
  • # commands if false
  • fi

'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)."
fi

Più 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 true
  • elif [ condition2 ]
  • then
  • # commands if condition1 is false AND condition2 is true
  • else
  • # commands if all conditions are false
  • fi

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."
fi

Verifica 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"
fi

Riepilogo delle istruzioni condizionali

Ottimo lavoro! Ha imparato a rendere più intelligenti gli script Bash con le istruzioni condizionali.

  • L'istruzione if esegue il codice se una condizione è vera.
  • else fornisce un percorso alternativo se la condizione di if è falsa.
  • elif consente di verificare più condizioni in sequenza.
  • Si ricordi di utilizzare gli operatori appropriati (-eq per i numeri, == per le stringhe) e di chiudere sempre i blocchi if con fi.

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

  1. Primo script Bash e shebang
  2. Variabili e input dell’utente
  3. Istruzioni condizionali (if, else, elif)
  4. Lavorare con gli array in Bash
← Torna a DevOps Bootcamp