GNU/Linux >> Linux Esercitazione >  >> Linux

Bash For Loop Guida ed esempi

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!


Linux
  1. Esempi di Bash For Loop e While Loop

  2. Tieniti aggiornato - Bash For, While, Until Esempi di loop

  3. 12 Esempi di Bash For Loop per gli script della tua shell Linux

  4. Esempi di Bash for loop

  5. Usando e in Bash mentre il ciclo

Bash Scripting – For Loop spiegato con esempi

Bash For Loops con esempi

Bash For Loop – La guida più pratica

Bash Scripting Part2 – Cicli For e While con esempi

Il ciclo Bash FOR spiegato e semplificato

Script Bash per Loop spiegato con esempi