Menu
Coddy logo textTech

Istruzione if

Fa parte della sezione Fondamenti del percorso Terminal di Coddy. Lezione 70 di 82.

Finora, i tuoi script eseguono ogni comando dall'alto verso il basso senza prendere decisioni. Ma cosa succede se vuoi che il tuo script faccia cose diverse in base a determinate condizioni? È qui che entra in gioco l'istruzione if.

L'istruzione if consente al tuo script di prendere decisioni. Verifica se una condizione è vera e, in tal caso, esegue un blocco di codice. Ecco la struttura di base:

#!/bin/bash
age=18
if [ $age -ge 18 ]; then
    echo "You are an adult"
fi

La condizione va tra parentesi quadre, con spazi intorno. La parola chiave then indica l’inizio del codice da eseguire e fi (if scritto al contrario) termina l’istruzione.

Puoi anche gestire il caso in cui la condizione è falsa usando else:

#!/bin/bash
age=15
if [ $age -ge 18 ]; then
    echo "You are an adult"
else
    echo "You are a minor"
fi

Gli operatori di confronto comuni per i numeri includono -eq (uguale), -ne (diverso), -gt (maggiore di), -lt (minore di), -ge (maggiore o uguale), e -le (minore o uguale). Per le stringhe, usa = per l’uguaglianza e != per la disuguaglianza.

Ricorda di includere sempre spazi all'interno delle parentesi e di racchiudere tra virgolette le variabili per evitare errori con valori vuoti.

challenge icon

Sfida

Facile

Crea uno script shell chiamato check_score.sh che usi un'istruzione if per valutare un punteggio di un test.

Il tuo script dovrebbe:

  1. Iniziare con la riga shebang (#!/bin/bash)
  2. Creare una variabile chiamata score con il valore 75
  3. Usare un'istruzione if per verificare se il punteggio è maggiore o uguale a 70
  4. Se è vero, stampare: You passed!
  5. Se è falso, stampare: You failed.

Rendi eseguibile lo script ed eseguilo. Poiché il punteggio è 75, l'output dovrebbe essere:

You passed!

Suggerimento: Ricorda di usare -ge per il confronto «maggiore o uguale a», di includere spazi all'interno delle parentesi quadre e di terminare l'istruzione if con fi.

Qui non c'è un editor di file, quindi scrivi il file direttamente dalla shell usando un here-document: digita cat > check_score.sh << 'EOF', poi le righe dello script e infine una riga contenente solo EOF.

Provalo tu

Terminale
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Terminal