Nei linguaggi di programmazione, Loop sono componenti essenziali e vengono utilizzati quando si desidera ripetere il codice più e più volte fino a quando non viene soddisfatta una condizione specificata.
In Colpo sceneggiatura, loop svolgono più o meno lo stesso ruolo e ci sono abituati automatizzare le attività ripetitive proprio come nei linguaggi di programmazione.
In Colpo scripting, ci sono 3 tipi di loop: per ciclo, ciclo while, E fino al ciclo. I tre vengono utilizzati per scorrere un elenco di valori ed eseguire un determinato insieme di comandi.
In questa guida, ci concentreremo sul Colpisci per loop su Linux.
Come accennato in precedenza, il per ciclo itera su un intervallo di valori ed esegue una serie di comandi.
Per ciclo assume la seguente sintassi:
per nome_variabile in valore1 valore2 valore3.. N. fai comando1 comando2 comandon. Fatto.
Controlliamo ora alcuni esempi di utilizzo del ciclo bash for.
Nella sua forma più semplice, il
Per ciclo assume il seguente formato di base. In questo esempio, la variabileN
itera su un gruppo di valori numerici racchiusi tra parentesi graffe e stampa i loro valori su stdout.
per n in {1 2 3 4 5 6 7}; fai eco $n. Fatto.
Negli esempi precedenti, abbiamo elencato in modo esplicito i valori che devono essere iterati da per ciclo, che funziona perfettamente. Tuttavia, puoi solo immaginare quanto sarebbe ingombrante e dispendioso in termini di tempo un'attività se dovessi ripetere, ad esempio, un centinaio di valori. Questo ti obbligherebbe a digitare tutti i valori da 1 a 100.
Per risolvere questo problema, specificare un intervallo. Per fare ciò, specificare il numero di inizio e di fine separato da due punti.
In questo esempio, 1 è il primo valore mentre 7 è l'ultimo valore nell'intervallo.
#!/bin/bash for n in {1..7}; fai eco $n. Fatto.
Una volta eseguito lo script della shell, vengono elencati tutti i valori nell'intervallo, in modo simile a quello che avevamo in loop semplici.
Inoltre, possiamo includere un valore alla fine dell'intervallo che causerà il per ciclo per scorrere i valori in passaggi incrementali.
Il seguente script bash stampa i valori compresi tra 1 e 7 con 2 passaggi incrementali tra i valori a partire dal primo valore.
#!/bin/bash for n in {1..7..2}; fai eco $n. Fatto.
Dall'esempio sopra, puoi vedere che il file ciclo continuo incrementato i valori all'interno delle parentesi graffe di 2 valori.
Puoi anche scorrere facilmente i valori definiti in un array usando a Per Ciclo. Nell'esempio seguente, il per ciclo scorre tutti i valori all'interno di schiera di frutti e li stampa su stdout.
#!/bin/bash fruit=("mirtillo" "pesca" "mango" "ananas" "papaya") for n in ${frutta[@]}; fai eco $n. Fatto.
IL @
l'operatore accede o prende di mira tutti gli elementi. Ciò rende possibile iterare su tutti gli elementi uno per uno.
Inoltre, è possibile accedere a un singolo elemento specificandone la posizione all'interno dell'array.
Ad esempio per accedere al “Mango” elemento, sostituire l' @
operatore con la posizione dell'elemento nell'array (il primo elemento inizia da 0, quindi in questo caso, "Mango” sarà indicato con 2).
Questo è l'aspetto del ciclo for.
#!/bin/bash fruit=("mirtillo" "pesca" "mango" "ananas" "papaya") for n in ${frutta[2]}; fai eco $n. Fatto.
È possibile utilizzare le variabili all'interno dei cicli per iterare su un intervallo di elementi. Qui è dove Stile C per loop Si accomodi. L'esempio seguente illustra a Stile C per loop che stampa un elenco di valori numerici da 1 a 7.
#!/bin/bash n=7. per ((n=1; n<=$n; n++ )); fai eco $n. Fatto.
Puoi includere istruzioni condizionali all'interno Stile C per loop. Nell'esempio seguente, abbiamo incluso un'istruzione if-else che verifica e stampa i numeri pari e dispari compresi tra 1 e 7.
#!/bin/bash for (( n=1; n<=7; n++ )) do # Controlla se il numero è pari o no if (( $n%2==0 )) then echo "$n è pari" else echo "$n è dispari" fi done.
IL 'ContinuaL'istruzione ' è un comando integrato che controlla l'esecuzione di uno script. Oltre allo scripting bash, viene utilizzato anche in linguaggi di programmazione come Pitone e Giava.
IL continua dichiarazione interrompe l'iterazione corrente all'interno di a ciclo continuo quando viene soddisfatta una condizione specifica, quindi riprende l'iterazione.
Considera il per ciclo mostrato di seguito.
#!/bin/bash. per n in {1..10} do if [[ $n -eq '6' ]] then echo "L'obiettivo $n è stato raggiunto" continue fi echo $n. Fatto.
Questo è ciò che fa il codice:
Di seguito è riportato l'output previsto dopo l'esecuzione dello script.
IL 'rottura' istruzione, come suggerisce il nome, interrompe o termina l'iterazione quando viene soddisfatta una condizione.
Considera il Per ciclo sotto.
#!/bin/bash. per n in {1..10} do if [[ $n -eq '6' ]] then echo "L'obiettivo $n è stato raggiunto" break fi echo $n. Fatto. echo "Tutto fatto"
Questo è ciò che fa il codice:
Dall'output, puoi vedere che il ciclo si interrompe quando la variabile soddisfa la condizione del ciclo.
Quello era un tutorial su Bash For loop. Ci auguriamo che tu abbia trovato questo perspicace. Sentiti libero di valutare il tuo feedback.