Il costrutto
while..do..done esegue una insieme di operazioni fino a che � valida una condizione. Il costrutto �:
while [condizione];
do
codice1
done
Due numeri possono essere confrontati con i seguenti test. Le variabili devono essere scritte nella forma:
"$nome_variabile"
I test numerici sono:
Controllo | Significato |
x -eq y | vero se x � uguale a y |
x -ne y | vero se x non � uguale a y |
x -gt y | vero se x � maggiore di y |
x -lt y | vero se x � minore di y |
x -ge y | vero se x � maggiore o uguale |
x -le y | vero se x � minore o uguale |
Due stringhe possono essere confrontate con i seguenti test:
Controllo | Significato |
x = y | vero se x � uguale a y |
x != y | vero se x non � uguale a y |
-n x | vero se x non � NULL o vuota |
-z x | vero se x � NULL o vuota |
Ecco uno script di esempio
#!/bin/bash
#Il seguente esempio incrementa una variabile fino a 10, stampando di volta in volta il risultato
x=0
while [ "$x" -le 10 ]; do
echo "Valore corrente di x: $x";
x=$(( $x + 1 ))
done
Un costrutto simile a
while �
until, che verifica la condizione in modo opposto: esegue un insieme di comandi finch� una condizione � falsa (cio� finch� una condizione diventa vera). Ecco un esempio:
#!/bin/bash
#Il seguente esempio incrementa una variabile fino a 10, stampando di volta in volta il risultato
x=0
until [ "$x" -ge 10 ]; do
echo "Valore corrente di x: $x";
x=$(( $x + 1 ))
done