Bash Pagina 55

De la Wiki Linux Advanced
Sari la navigare Sari la căutare

Atribute variabile

Variabilele dețin valori simple de tip șir, dar pot avea și atribute suplimentare.

Atributele pentru o variabilă se pot afișa utilizând:

declare -p var

Opțiuni care stabilesc atribute:

  • -a pentru a declara matrice indexate (dacă este acceptat).
  • -A pentru a declara matrice asociative (dacă este acceptat).
  • -i pentru a declara variabila ca atribut „întreg”.
  • -I pentru a converti valoarea în minuscule la atribuire.
  • -n pentru a declara o referință la variabila numită după valoarea acesteia.
  • -r pentru a declara variabila ca fiind doar citire.
  • -t pentru a declara că variabila are atributul „trace”
  • -u pentru a converti valoarea în majuscule la atribuire
  • -x pentru a declara variabila ca fiind exportată.
  • -f pentru a utiliza doar nume de funcții.

Explicații:

-a: Această opțiune declară o matrice indexată. O matrice indexată este o variabilă care poate conține mai multe valori, accesibile prin indici numerici. De exemplu:

declare -a myArray
myArray[0]="prima valoare"
myArray[1]="a doua valoare"

-A: Această opțiune declară o matrice asociativă. O matrice asociativă permite stocarea valorilor în funcție de chei, care pot fi șiruri de caractere. De exemplu:

declare -A myAssocArray
myAssocArray["cheie1"]="valoare1"
myAssocArray["cheie2"]="valoare2"

-i: Această opțiune declară o variabilă ca atribut „întreg”. Variabilele declarate cu acest atribut vor efectua automat operații aritmetice și vor fi tratate ca numere întregi. De exemplu:

declare -i myInt=10
myInt+=5  # myInt devine 15

-I: Această opțiune este folosită pentru a converti valoarea în minuscule la atribuire. Astfel, orice valoare atribuită variabilei va fi stocată în format mic. De exemplu:

declare -I myVar="HELLO"
echo $myVar  # va afișa "hello"

-n: Această opțiune declară o referință la variabila numită după valoarea acesteia. Aceasta înseamnă că modificarea unei variabile va afecta și variabila referită. De exemplu:

declare -n refVar=myVar
myVar="valoare"
echo $refVar  # va afișa "valoare"

-r: Această opțiune declară variabila ca fiind doar citire, ceea ce înseamnă că nu poate fi modificată ulterior. De exemplu:

declare -r myConst="constant"
myConst="noua valoare"  # va genera o eroare

-t: Această opțiune declară că variabila are atributul „trace”. Aceasta permite urmărirea valorilor variabilei în timpul execuției scriptului, fiind utilă pentru debugging. De exemplu:

declare -t myTraceVariable="Aceasta este o variabilă de urmărire."
# Accesați variabila
echo "Valoarea variabilei este: $myTraceVariable"

Datorită atributului "trace", Bash va afișa și detalii despre accesarea variabilei.

Notă despre utilizarea -t:
Este important de menționat că utilizarea atributului "trace" în Bash nu generează întotdeauna un output vizibil pentru utilizator. Totuși, este util în special pentru debug și pentru dezvoltatori care doresc să urmărească utilizarea variabilelor în scripturile lor.

-u: Această opțiune convertește valoarea în majuscule la atribuire. Astfel, orice valoare atribuită variabilei va fi stocată în format mare. De exemplu:

declare -u myVar="hello"
echo $myVar  # va afișa "HELLO"

-x: Această opțiune declară variabila ca fiind exportată, ceea ce înseamnă că va fi disponibilă și în subprocesele (procesele copil) create de scriptul curent. De exemplu:

declare -x myVar="valoare"

-f: Această opțiune este utilizată pentru a specifica că variabilele utilizate sunt nume de funcții. De exemplu:

#!/bin/bash
# Declarați o funcție
myFunction() {
   echo "Salut! Aceasta este o funcție."
}
# Verificați dacă funcția este definită și afișați informații despre ea
declare -f myFunction
# Apelați funcția
myFunction

Aceste atribute oferă flexibilitate și control asupra comportamentului variabilelor în scripturile Bash, permițând programatorilor să definească variabile în funcție de nevoile specifice ale aplicației.


Pagina anterioară | Următoarea pagină