Bash Pagina 45
Comanda case în Bash
Comanda case în Bash este o structură de control care permite verificarea unei variabile împotriva mai multor valori posibile. Aceasta este utilă atunci când se dorește evaluarea unei variabile și executarea diferitelor comenzi în funcție de valoarea acesteia.
Sintaxa case
case variabilă in
pattern1 ) # comenzi ;; pattern2 ) # comenzi ;; ... * ) # comenzi pentru toate celelalte cazuri ;;
esac
Explicația sintaxei
- variabilă: variabila care va fi comparată cu modelele (patterns).
- pattern: valorile sau expresiile care sunt verificate. Pot include wildcard-uri (ex. * pentru a reprezenta orice).
- ;;: termină comanda pentru fiecare caz.
- *: un pattern special care se potrivește cu orice valoare, folosit ca un caz implicit.
Exemplu de utilizare a comenzii case =
#!/bin/bash echo "Introduceti o zi a săptămânii:" read zi case $zi in "luni" ) echo "Astăzi este luni." ;; "marti" ) echo "Astăzi este marți." ;; "miercuri" ) echo "Astăzi este miercuri." ;; "joi" ) echo "Astăzi este joi." ;; "vineri" ) echo "Astăzi este vineri." ;; "sâmbătă" | "duminică" ) echo "Este weekend!" ;; * ) echo "Zi necunoscută." ;; esac
În acest exemplu, utilizatorul este întrebat despre ziua săptămânii. Comanda case va verifica valoarea introdusă și va executa comanda corespunzătoare în funcție de ziua specificată.
Utilizare practică
Comanda case este utilă pentru gestionarea mai multor opțiuni fără a necesita o serie lungă de instrucțiuni if-else. Aceasta simplifică citirea și întreținerea scripturilor, mai ales când sunt implicate multiple valori pentru evaluare. Este ideală pentru menu-uri, opțiuni de utilizator sau gestionarea codurilor de eroare.