Ce face Variabile în Bash
În Bash, o variabilă se declară simplu prin NUME=valoare, FĂRĂ niciun spațiu în jurul semnului egal (=).
Pentru a citi valoarea unei variabile se folosește prefixul $ (de exemplu $NUME sau ${NUME}). Acoladele permit concatenarea curată (ex. ${VAR}_backup) și operațiuni avansate de manipulare a textului sau valori implicite (${VAR:-implicit}).
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
NUME=valoare |
Atribuie o valoare variabilei (fără spații înainte sau după egal). |
"$VAR" |
Expandează valoarea variabilei (se recomandă întotdeauna folosirea ghilimelelor duble). |
${VAR:-implicit} |
Dacă variabila nu este setată sau este goală, returnează valoarea ‘implicit’ fără a o modifica. |
${#VAR} |
Returnează lungimea în caractere a textului conținut în variabilă. |
readonly VAR=val |
Declară o constantă care nu mai poate fi modificată ulterior. |
Exemple
Exemplul 1: Declarare și expandare cu valori implicite
Testăm comportamentul variabilelor și al valorilor de rezervă.
MEDIU="productie"
echo "Rulez pe mediul: ${MEDIU:-dezvoltare}"
echo "Port implicit: ${PORT:-8080}"
Rezultat
Rulez pe mediul: productie
Port implicit: 8080
Exemplul 2: Calcularea lungimii unui text
Sintaxa ${#VAR} arată numărul de caractere.
TITLU="Linux / Bash"
echo "Lungime: ${#TITLU} caractere"
Rezultat
Lungime: 12 caractere
Greșeli frecvente
- Punerea de spații în jurul egalului (ex.
VAR = valoare): Bash va încerca să executeVARca pe o comandă cu argumentele=șivaloare, returnând „command not found”. - Neutilizarea ghilimelelor duble în jurul variabilelor (
$VARîn loc de"$VAR"): dacă valoarea conține spații, shell-ul o va sparge în mai multe argumente separate (word splitting).
Comenzi înrudite
export: Transformă o variabilă de shell într-o variabilă de mediu (environment variable) accesibilă proceselor copil.echo: Afișează o linie de text sau valorile variabilelor în consolă sau ieșirea standard.read: Citește o linie de text de la tastatură sau din intrarea standard și o salvează într-o variabilă.