0Pricing
DevOps Bootcamp · Lezione

L'istruzione case e il pattern matching

Gestisca in modo chiaro molti valori diversi. Impari a usare l'istruzione case, i glob pattern, le corrispondenze con più pattern e a evitare lunghe catene if-elif.

L'istruzione case e il pattern matching è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 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é usare case

Quando una variabile può assumere molti valori, una lunga catena if/elif/elif diventa poco leggibile. L'istruzione case confronta un valore con dei pattern ed è molto più chiara.

Sintassi di base

Un blocco case verifica un valore rispetto a dei pattern, ciascuno dei quali termina con ), e un corpo che termina con ;;. L'intero blocco termina con esac.

case "$fruit" in
  apple) echo "red";;
  banana) echo "yellow";;
esac

Il caso predefinito

Il pattern *) corrisponde a qualsiasi valore e funge da caso predefinito generale, come else.

case "$cmd" in
  start) echo "starting";;
  stop) echo "stopping";;
  *) echo "unknown command";;
esac

Corrispondere più pattern

Utilizzare | per far corrispondere più pattern in uno stesso ramo.

case "$ans" in
  y|Y|yes) echo "Confirmed";;
  n|N|no) echo "Cancelled";;
esac

Pattern glob

I pattern usano il globbing della shell, non le espressioni regolari: * corrisponde a qualsiasi stringa, ? a un singolo carattere e [...] a una classe di caratteri.

case "$file" in
  *.txt) echo "text file";;
  *.jpg|*.png) echo "image";;
esac

Intervalli di caratteri

I pattern tra parentesi quadre corrispondono agli intervalli, utili per raggruppare in base alla prima lettera o cifra.

case "$ch" in
  [a-z]) echo "lowercase";;
  [0-9]) echo "digit";;
esac

Un menu semplice

case è particolarmente utile negli script basati su menu, in cui l'utente seleziona un'opzione.

read -p "Choice: " opt
case "$opt" in
  1) backup;;
  2) restore;;
  *) echo "Invalid";;
esac

case e if a confronto

Utilizzare if per condizioni booleane complesse (intervalli, confronti, più variabili). Utilizzare case quando il flusso dipende dal valore o dal pattern di una sola variabile.

Racchiudere tra virgolette il valore

Racchiudere tra virgolette il valore verificato ("$var") per gestire in modo sicuro i valori vuoti o contenenti spazi.

case "$input" in
  "") echo "empty";;
  *) echo "got: $input";;
esac

Proseguire dopo una corrispondenza con ;;&

Bash supporta ;;& per continuare a verificare i pattern successivi dopo una corrispondenza, consentendo l'esecuzione di più rami.

case "$f" in
  *.tar) echo "tar";;&
  *.gz) echo "gzip";;
esac

Dispatch degli argomenti

Un uso comune nella pratica consiste nell'analizzare il primo argomento dello script per implementare sottocomandi, come in uno strumento CLI.

case "$1" in
  init) do_init;;
  build) do_build;;
  *) echo "usage: $0 {init|build}";;
esac

Verifica rapida

Verifichi la Sua comprensione.

Riepilogo

Ha imparato a usare l'istruzione case: confrontare un valore con pattern glob, terminare i rami con ;;, combinare i pattern con |, usare *) come caso predefinito e preferire case a lunghe catene if-elif per gestire in modo chiaro i valori e il dispatch degli argomenti.

Domande Frequenti

La lezione «L'istruzione case e il pattern matching» è gratuita?

Sì — il testo completo di «L'istruzione case e il pattern matching» è 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 «L'istruzione case e il pattern matching»?

Gestisca in modo chiaro molti valori diversi. Impari a usare l'istruzione case, i glob pattern, le corrispondenze con più pattern e a evitare lunghe catene if-elif. 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 4 di 4.

Quanto tempo richiede la lezione «L'istruzione case e il pattern matching»?

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. Strutture iterative (for, while)
  2. Funzioni negli script Bash
  3. Argomenti e opzioni degli script ($@, $#, getopts)
  4. L'istruzione case e il pattern matching
← Torna a DevOps Bootcamp