In questo argomento, abbiamo dimostrato come utilizzare l'istruzione while loop in Bash Script.
IL bash ciclo while può essere definito come un'istruzione del flusso di controllo che consente di eseguire ripetutamente un determinato insieme di comandi purché la condizione applicata risulti vera. Ad esempio, possiamo eseguire il comando echo più volte o semplicemente leggere un file di testo riga per riga ed elaborare il risultato utilizzando il ciclo while in Bash.
Sintassi di Bash While Loop
Il ciclo while di Bash ha il seguente formato:
pendenza indefinita
while [ expression ]; do commands; multiple commands; done
La sintassi precedente è applicabile solo se l'espressione contiene una singola condizione.
Se ci sono più condizioni da includere nell'espressione, la sintassi del ciclo while sarà la seguente:
while [ expressions ]; do commands; multiple commands; done
La sintassi di una riga del ciclo while può essere definita come:
while [ condition ]; do commands; done while control-command; do Commands; done
Ci sono alcuni punti chiave dell'istruzione ' while loop':
- La condizione viene verificata prima di eseguire i comandi.
- Il ciclo ' while' è anche in grado di eseguire tutto il lavoro che può fare il ciclo 'for'.
- I comandi tra 'do' e 'done' vengono eseguiti ripetutamente finché la condizione risulta vera.
- Gli argomenti per un ciclo 'mentre' possono essere un'espressione booleana.
Come funziona
Il ciclo while è un ciclo di ingresso limitato. Significa che la condizione viene verificata prima di eseguire i comandi del ciclo while. Se la condizione risulta vera, viene eseguito l'insieme di comandi successivi a tale condizione. Altrimenti il ciclo viene terminato e il controllo del programma viene assegnato all'altro comando successivo all'istruzione 'done'.
Esempi di ciclo Bash While
Di seguito sono riportati alcuni esempi di ciclo while bash:
Ciclo While con condizione singola
In questo esempio, il ciclo while viene utilizzato con una singola condizione nell'espressione. È l'esempio base del ciclo while che stamperà serie di numeri secondo l'input dell'utente:
Esempio
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
Produzione
Ciclo while con condizioni multiple
Di seguito è riportato un esempio di ciclo while con più condizioni nell'espressione:
Esempio
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
Produzione
il computer ha inventato quale anno
Ciclo While infinito
Un ciclo infinito è un ciclo che non ha fine o terminazione. Se la condizione risulta sempre vera, crea un ciclo infinito. Il ciclo verrà eseguito continuamente finché non verrà interrotto forzatamente utilizzando CTRL+C:
Esempio
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
Possiamo anche scrivere lo script sopra in una singola riga come:
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
Produzione
Qui abbiamo utilizzato il comando integrato (:) che restituisce sempre true. Possiamo anche usare il comando integrato true per creare un ciclo infinito proprio come di seguito:
Esempio
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
Questo script bash fornirà anche lo stesso output di uno script sopra infinito.
Nota: i cicli infiniti possono essere terminati utilizzando CTRL+C o aggiungendo un'uscita condizionale all'interno dello script.
Ciclo While con un'istruzione Break
È possibile utilizzare un'istruzione break per interrompere il ciclo in base alla condizione applicata. Per esempio:
Esempio
#!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done
Produzione
Secondo lo script, al ciclo viene assegnato l'iterazione per dieci volte. Ma c'è una condizione dopo otto volte di iterazione che interromperà l'iterazione e terminerà il ciclo. Il seguente output verrà mostrato dopo l'esecuzione dello script.
Ciclo While con un'istruzione Continue
È possibile utilizzare un'istruzione continue per saltare l'iterazione per una condizione specifica all'interno del ciclo while.
Esempio
#!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.'
Produzione
chi è Urfi Javed
While Loop con stile C
Possiamo anche scrivere il ciclo while nello script bash in modo simile al ciclo while nel linguaggio di programmazione C.
Esempio
#!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>