11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

do<br />

echo "Passo $esterno del ciclo esterno."<br />

echo "---------------------"<br />

interno=1 # Imposta il contatore del ciclo interno.<br />

Capitolo 10. Cicli ed alternative<br />

# ==============================================================<br />

# Inizio del ciclo interno.<br />

for b in 1 2 3 4 5<br />

do<br />

echo "Passo $interno del ciclo interno."<br />

let "interno+=1" # Incrementa il contatore del ciclo interno.<br />

done<br />

# Fine del ciclo interno.<br />

# ==============================================================<br />

let "esterno+=1" # Incrementa il contatore del ciclo esterno.<br />

echo # Spaziatura tra gli output dei successivi<br />

#+ passi del ciclo esterno.<br />

done<br />

# Fine del ciclo esterno.<br />

exit 0<br />

Ve<strong>di</strong> Esempio 26-11 per un’illustrazione <strong>di</strong> cicli while annidati e Esempio 26-13 per un ciclo while<br />

annidato in un ciclo until.<br />

10.3. Controllo del ciclo<br />

break<br />

continue<br />

Coman<strong>di</strong> inerenti al comportamento del ciclo<br />

I coman<strong>di</strong> <strong>di</strong> controllo del ciclo break e continue 1 corrispondono esattamente ai loro analoghi<br />

degli altri linguaggi <strong>di</strong> programmazione. Il comando break interrompe il ciclo (esce), mentre<br />

continue provoca il salto all’iterazione (ripetizione) successiva, tralasciando tutti i restanti coman<strong>di</strong><br />

<strong>di</strong> quel particolare passo del ciclo.<br />

Esempio 10-20. Effetti <strong>di</strong> break e continue in un ciclo<br />

#!/bin/bash<br />

LIMITE=19 # Limite superiore<br />

echo<br />

echo "Visualizza i numeri da 1 fino a 20 (saltando 3 e 11)."<br />

a=0<br />

while [ $a -le "$LIMITE" ]<br />

173

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!