BASH While Esempi di loop | Linuxiano.it
Privacy Policy

BASH While Esempi di loop

BASH While Esempi di loop

Come si usa bash affinché il ciclo ripeta determinate attività nel sistema operativo Linux / UNIX?
Impostare loop infiniti usando un blocco d’istruzioni?
Come si usano i tre parametri per l’espressione di controllo del ciclo (loop)?

Un ciclo “for loop” è un’istruzione di linguaggio per programmazione bash che consente di eseguire ripetutamente il codice. Un ciclo “for loop” è classificato come un’istruzione di iterazione cioè è la ripetizione di un processo all’interno di uno script bash. Ad esempio, è possibile eseguire il comando o l’operazione UNIX 5 volte oppure leggere ed elaborare l’elenco del file utilizzando un ciclo “for loop”. Un ciclo for può essere utilizzato al prompt della shell o all’interno di uno script della stessa shell.

Come altri loop, il ciclo while viene utilizzato per eseguire attività ripetitive. Come si può usare il ciclo nella script di bash? È mostrato in questo articolo usando diversi esempi.

Sintassi del ciclo while:

while [ condition ] do
commands
done

Il blocco iniziale e finale del ciclo while sono definiti da parole chiavi do e done nello script bash. La condizione di termine è definita all’inizio del ciclo. Apri un editor di testo per scrivere script bash e prova i seguenti esempi di loop while.

Esempio 1: iterare il ciclo per un numero fisso

Crea un file bash chiamato while1.sh che contiene il seguente script.

n=1
while [ $n -le 5 ] do
echo “Running $n time”
(( n++ ))
done

In questo esempio, il ciclo verrà iterato per 5 volte e stamperà il testo che è definito all’interno del ciclo. Il seguente output apparirà se si esegue while1.sh.

Esempio 2: utilizzo dell’istruzione break per l’uscita condizionale

L’ istruzione break viene utilizzata per uscire anticipatamente dal loop in base a una particolare condizione. Crea un nuovo file bash chiamato while2.sh con il seguente codice.

n=1
while [ $n -le 10 ] do
if [ $n == 6 ] then
echo “terminated”
break
fi
echo “Position: $n”
(( n++ ))
done

In questo esempio, il ciclo viene dichiarato per iterare 10 volte. Secondo lo script, terminerà dopo 6 volte l’iterazione per l’istruzione break. Il seguente output apparirà dopo l’esecuzione dello script.

Esempio 3: uso dell’istruzione in modo continuo per omettere un particolare passaggio

Crea un nuovo file bash chiamato while3.sh con il seguente codice.

n=0
while [ $n -le 5 ] do
(( n++ ))

if [ $n == 3 ] then
continue
fi
echo “Position: $n”

done

In questo esempio, il ciclo verrà iterato per 5 volte ma non stamperà tutte le 5 posizioni. Quando il ciclo eseguirà una iterazione per 3 volte, l’istruzione continua verrà eseguita e il ciclo andrà per l’iterazione successiva senza stampare il testo della terza posizione. Il seguente output apparirà dopo l’esecuzione dello script.

Esempio 4: creazione di loop infinito

A volte, è necessario dichiarare loop infinito per vari scopi di programmazione. Crea un nuovo file bash chiamato while4.sh e verifica il codice del ciclo infinito.

n=1
while :
do
printf “The current value of n=$n\n”
if [ $n == 3 ] then
echo “good”
elif [ $n == 5 ] then
echo “bad”
elif [ $n == 7 ] then
echo “ugly”
elif [ $n == 10 ] then
exit 0
fi
((n++))
done

In questo esempio non è impostata alcuna condizione di terminazione per il ciclo. Questo è chiamato ciclo infinito. Qui, l’istruzione exit viene utilizzata per uscire dal ciclo infinito. Quindi, questo verrà ripetuto per 10 volte e quando il valore d’iterazione sarà uguale a 10, l’istruzione exit verrà eseguita per uscire dal ciclo infinito.