Sintassi del ciclo while:
mentre [condizione]fare
comandi
fatto
Il blocco iniziale e finale di mentre loop sono definiti da fare e fatto parole chiave nello script bash. La condizione di terminazione è definita all'inizio del ciclo. Apri un editor di testo per scrivere uno script bash e prova i seguenti esempi di ciclo while.
Esempio 1: iterare il ciclo per un numero fisso di volte
Crea un file bash chiamato mentre1.sh che contiene il seguente script.
n=1
mentre [ $n -il 5 ]
fare
buttato fuori 'In esecuzione$ntempo'
((n++))
fatto
In questo esempio, il ciclo iterarà per 5 volte e stamperà il testo definito all'interno del ciclo. Il seguente output apparirà se si esegue mentre1.sh .
Esempio 2: utilizzo dell'istruzione break per l'uscita condizionale
rottura l'istruzione viene utilizzata per uscire anticipatamente dal ciclo in base a una particolare condizione. Crea un nuovo file bash chiamato mentre2.sh con il seguente codice.
n=1mentre [ $n -il 10 ]
fare
Se [ $n==6 ]
poi
buttato fuori 'terminato'
rottura
essere
buttato fuori 'Posizione:$n'
((n++))
fatto
In questo esempio, il ciclo viene dichiarato iterare per 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: utilizzo dell'istruzione continue per omettere un passaggio particolare
Crea un nuovo file bash chiamato mentre3.sh con il seguente codice.
n=0mentre [ $n -il 5 ]
fare
((n++))
Se [ $n==3 ]
poi
Continua
essere
buttato fuori 'Posizione:$n'
fatto
In questo esempio, il ciclo itererà per 5 volte ma non stamperà tutte e 5 le posizioni. Quando il ciclo itera per 3rdvolte quindi verrà eseguita l'istruzione continue e il ciclo andrà all'iterazione successiva senza stampare il testo di 3rdposizione. Il seguente output apparirà dopo l'esecuzione dello script.
Esempio-4: creazione di loop infinito
A volte, è necessario dichiarare un ciclo infinito per vari scopi di programmazione. Crea un nuovo file bash chiamato mentre4.sh e testare il codice del ciclo infinito.
n=1mentre:
fare
printf 'Il valore corrente di n=$n '
Se [ $n==3 ]
poi
buttato fuori 'Buona'
elifa [ $n==5 ]
poi
buttato fuori 'cattivo'
elifa [ $n==7 ]
poi
buttato fuori 'brutto'
elifa [ $n==10 ]
poi
Uscita 0
essere
((n++))
fatto
In questo esempio non è impostata alcuna condizione di terminazione per il ciclo. Questo tipo di ciclo è chiamato ciclo infinito. Qui, l'istruzione exit viene utilizzata per uscire dal ciclo infinito. Quindi, questo ciclo verrà ripetuto per 10 volte e quando il valore dell'iterazione diventa uguale a 10, l'istruzione di uscita verrà eseguita per uscire dal ciclo infinito.