Un ciclo for è una delle principali affermazioni in vari linguaggi di programmazione e aiuta molto a gestire il tuo VPS. Qui, spiegheremo come viene utilizzato nel linguaggio di programmazione bash, da cui il nome "bash for loop". Preparati ad aggiungere un nuovo strumento al tuo arsenale di sviluppatori!
Un ciclo for è un'istruzione di iterazione, il che significa che puoi eseguire codice ripetutamente. Supponiamo di voler eseguire un'istruzione 5 volte. Invece di scrivere cinque codici separati, puoi semplicemente scrivere una sintassi del ciclo for una volta. Esploriamo più a fondo, vero?
Sintassi Bash For Loop
Fondamentalmente, la sintassi del ciclo for più semplice ripete l'occorrenza di un insieme di una variabile. La sequenza bash in genere è simile a questa:
for VARIABLE in 1 2 3 4 5 .. N Perform the below command: command1 command2 commandN done
Nel mondo reale, questa sintassi sarebbe simile all'esempio seguente:
#!/bin/bash for i in 1 2 3 4 5 do echo "Hello $i" done
L'esecuzione del file bash provocherà la seguente sequenza:
Hello 1 Hello 2 Hello 3 Hello 4 Hello 5
Esaminiamo ogni elemento:
- #!/bin/bash – mostra che il codice è uno script bash
- io – è un segnaposto per una variabile. Nel frattempo, $i è il valore individuale della variabile. Puoi anche scriverlo come c/$c o con qualsiasi altro nome
- in – separa la variabile e gli elementi che seguono
- 1 2 3 4 5 – è un esempio di elementi su cui vuoi eseguire l'istruzione
- fai – è la parola chiave che avvia i loop. Quindi eseguirà l'istruzione n volte, dove n è il numero totale di elementi. Qui, il valore di n è 5
- eco "Ciao:$i" – è il codice che ripeteremo n volte. Ricorda che le virgolette trasformano qualsiasi cosa al suo interno in una variabile.
- fatto – interrompe il ciclo
Puoi scrivere il codice in modo diverso a seconda della versione di bash in esecuzione:
Bash versione 3.0+ può ridurre l'intervallo con ".. ”.
#!/bin/bash for i in {1..5} do echo "Hai $i" done
Bash versione 4.0+ ti consente di utilizzare {START..END..INCREMENT} sintassi.
#!/bin/bash for i in {0..8..2} do echo "Hai $i" done
Il risultato di questa sequenza bash sarà simile al seguente:
Hai 0 Hai 2 Hai 4 Hai 6 Hai 8
Le altre due sintassi comuni dei comandi di ciclo sono queste:
for VARIABLE in file1 file2 file3 do command1 on $VARIABLE command2 commandN done
E questo:
for OUTPUT in $(Linux-Or-Unix-Command-Here) do command1 on $OUTPUT command2 on $OUTPUT commandN done
Esempi di Bash For Loop
È possibile aggiornare la sintassi per eseguire più operazioni. Ricorda, prima di fare qualsiasi cosa dovrai accedere al tuo VPS. Se hai problemi, questo tutorial Putty SSH ti metterà sulla strada giusta. Nel frattempo, se hai problemi con bash, dovresti consultare la nostra guida alla funzione di base di bash. Ricorda che le funzioni bash devono essere in un .sh file. Per crearne uno, esegui quanto segue nella riga di comando:
vim NameOfFile.sh
Questo creerà un file .sh e lo aprirà nell'editor VIM. Puoi saperne di più nell'articolo sulla funzione bash di base menzionato in precedenza.
Utilizzo di Bash For Loop per creare un ciclo infinito
Una volta attivato, questo loop continuerà ad eseguire il codice finché non lo fermerai premendo Control + C. In questo caso, il termine "Hello World" continuerà a riapparire da solo.
#!/bin/bash for (( ; ; )) do echo "Hello World!" done
Utilizzo di Bash For Loop per creare un ciclo a tre espressioni
Il ciclo è composto da tre espressioni di scrittura:un inizializzatore (EXP1 ), una condizione (EXP2 ) e un'espressione di conteggio (EXP3 ). A volte le persone lo chiamano ciclo in stile C a causa della stretta somiglianza nella struttura del codice. La sintassi di questo ciclo è la seguente:
for (( EXP1; EXP2; EXP3 )) do command1 command2 command3 done
Ecco un esempio di comando loop che puoi provare tu stesso:
#!/bin/bash for (( c=1; c<=5; c++ )) do echo "Hai $c" done
Il codice dice che il valore iniziale è 1 . Il ciclo verrà eseguito, purché la condizione in EXP2 è vero, il che significa che non dovrebbe essere più grande di 5 . Inoltre, il ++ sign mostra che l'incremento è 1 . Quindi ripeterà il ciclo uno per uno partendo dal valore iniziale. Risultato:
Hai 1 Hai 2 Hai 3 Hai 4 Hai 5
Utilizzo di Bash for Loop per creare il ciclo Salta e Continua
L'istruzione continue salta il ciclo per il valore indicato e continua il ciclo in seguito. Ecco come apparirà la sintassi:
for I in 1 2 3 4 5 do if [condition] then continue #Go to next iteration of I in the loop and skip statements3 fi statement done
Seguendo la sintassi possiamo creare un comando bash skip and continue loop come questo:
for i in {1..5} do if [[ "$i" == '4' ]] then continue fi echo "Hai $i4" done
L'output per questa sequenza bash sarebbe:
Hai 1 Hai 2 Hai 3 Hai 5
Poiché il valore 4 corrispondeva all'istruzione continue, il ciclo non ha eseguito il codice ed è passato al valore successivo, che è 5 .
Utilizzo di Bash for Loop per creare un'uscita condizionale con Break Loop
Il ciclo consente di interrompere l'operazione se soddisfa la condizione indicata. Questo può essere seguito da un'altra istruzione. Ecco la sintassi:
for I in 1 2 3 4 5 do if [condition] then break fi statement done
Quando si utilizza questa funzione, il nostro comando di ciclo sarà simile al seguente:
for city in Manila Bangkok Jakarta Kuala Lumpur do if [[ "$city" == 'Jakarta' ]]; then break fi echo "city: $city" done echo 'Yes, that’s all!'
E l'output:
city: Manila city: Bangkok Yes, that’s all!
L'istruzione dice al ciclo di interrompere l'operazione una volta che la condizione è vera (trovando il termine Jakarta ). Quindi eseguirà il secondo codice, che sta stampando un testo che dice Sì, tutto qui.
Conclusione
Bash for loop è ottimo per automatizzare attività ripetitive. A parte gli esempi di base sopra, puoi fare molto di più. Ad esempio, puoi tenere traccia dei file ed eseguire molte altre attività. La lista continua!
Tutto quello che devi fare è scrivere i comandi del ciclo. Potrebbe essere una curva di apprendimento, ma leggere questa introduzione è un buon inizio. La pratica rende sempre perfetti! Buona fortuna!