Ce face for
Bucla for repetă un set de comenzi pentru fiecare element dintr-o mulțime dată. Poate parcurge liste de cuvinte, rezultatele unei măști de fișiere (globbing, ex. *.txt) sau secvențe numerice.
În Bash este suportată și sintaxa în stilul limbajului C: for ((i=0; i<10; i++)).
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
for element in lista |
Sintaxa clasică: atribuie variabilei 'element' fiecare valoare din listă pe rând. |
{1..5} |
Expandare de acolade pentru intervale numerice (1, 2, 3, 4, 5). |
for f in *.log |
Parcurgere sigură a fișierelor fără a depinde de comanda ls. |
for ((i=0; i<N; i++)) |
Sintaxă de buclă numerică în stilul limbajelor C/Java. |
Exemple
Exemplul 1: Iterarea peste o listă de orașe
Afișăm fiecare destinație pe rând.
for oras in "Bucuresti" "Cluj" "Timisoara"; do
echo "Verificare server in: $oras"
done
Rezultat
Verificare server in: Bucuresti
Verificare server in: Cluj
Verificare server in: Timisoara
Exemplul 2: Buclă numerică cu pas
Numărăm din 10 în 10 până la 30.
for i in {10..30..10}; do
echo "Progres: $i%"
done
Rezultat
Progres: {10..30..10}%
Greșeli frecvente
- Scrierea
for f in $(ls *.txt): dacă un fișier conține spații în nume, acesta va fi rupt în mai multe bucăți eronate. Forma corectă și sigură este directfor f in *.txt.