Bash Pagina 45: Diferență între versiuni
Admin (discuție | contribuții) (Pagină nouă: Pagina anterioară | Următoarea pagină) |
Admin (discuție | contribuții) Fără descriere a modificării |
||
Linia 1: | Linia 1: | ||
== 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).<br> | |||
- '''pattern''': valorile sau expresiile care sunt verificate. Pot include wildcard-uri (ex. * pentru a reprezenta orice).<br> | |||
- ''';;''': termină comanda pentru fiecare caz.<br> | |||
- '''*''': un pattern special care se potrivește cu orice valoare, folosit ca un caz implicit.<br> | |||
=== 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. | |||
[[Bash_Pagina_44|Pagina anterioară]] | [[Bash_Pagina_46|Următoarea pagină]] | [[Bash_Pagina_44|Pagina anterioară]] | [[Bash_Pagina_46|Următoarea pagină]] |
Versiunea de la data 27 octombrie 2024 11:07
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.