GNU/Linux >> Linux Esercitazione >  >> Linux

Comprendere il ciclo for negli script della shell

Continuando dai nostri tutorial precedenti, comprendiamo il ciclo for negli script di shell oggi. Abbiamo già trattato il ciclo while in precedenza e il ciclo for ha un utilizzo simile con un formato diverso.

Per iniziare

I loop sono ampiamente utilizzati dai programmatori di tutto il mondo. L'aggiunta di loop allo script della shell ti aiuta a rendere efficiente il tuo codice riducendo la quantità di codice che devi scrivere.

Questo viene fatto automatizzando l'esecuzione di una serie di istruzioni nello script della shell invece di scriverle ripetutamente.

Usiamo il ciclo for negli script di shell per i casi in cui conosciamo il numero di volte che desideriamo che il nostro ciclo venga eseguito. Questo numero di iterazioni può essere specificato da un elenco di elementi. Cerchiamo di capire il funzionamento del ciclo for negli script di shell.

Come creare un ciclo for negli script della shell?

Ci sono due modi per eseguire un ciclo for negli script della shell.

1. Utilizzo della parola chiave "in"

for var in val_1 val_2 val_3 ... val_n
do
    statement 1
    statement 2
    statement 3
done

Qui abbiamo quattro parole chiave, ovvero for, in, do e fatto .

  1. La prima parola chiave "per" specifica l'inizio del ciclo quando eseguiamo il nostro script di shell.
  2. È seguito da una variabile che può assumere valori specificati da val_1, val_2 e così via.
  3. La parola chiave in specifica l'inizio di questo elenco di valori. Questi valori devono essere separati da "spazi", poiché qualsiasi altro carattere come una virgola verrà considerato come parte del "valore".
  4. La parola chiave fai viene utilizzato prima delle istruzioni che desideriamo eseguire
  5. fatto significa la fine del nostro ciclo.

2. Utilizzo dell'inizializzazione in stile C

L'altro modo per usare il ciclo for negli script della shell consiste nell'incorporare un approccio di programmazione C. Ecco come apparirà la sintassi.

for (( initialization parameter; condition; updation))
do
    statement 1
    statement 2
    statement 3
done

Qui sostituiamo "in" parola chiave per un approccio più simile a C.

  1. Prima che il ciclo inizi la prima iterazione, il parametro di inizializzazione viene utilizzato per inizializzare una variabile che fungerà da contatore per il numero di cicli eseguiti dal nostro ciclo
  2. Finché la condizione restituisce TRUE, il ciclo eseguirà tutte le istruzioni scritte tra “do ” e “fatto “.
  3. Infine, l'ultimo parametro “aggiornamento ” serve per aggiornare la variabile che funge da contatore.

Esempi di ciclo for negli script di shell

Ora abbiamo familiarità con il concetto e il funzionamento del ciclo for negli script di shell. Ma per comprendere correttamente un comando, devi essere in grado di usarlo nel tuo codice.

Esaminiamo alcuni esempi di utilizzo pratico dei cicli for

1. Creazione di un ciclo for di base

Iniziamo con qualcosa di semplice e di base. Qui, utilizziamo il primo metodo di utilizzo del ciclo for.

Usiamo la parola chiave in per eseguire un ciclo per 5 iterazioni dicendo all'utente il numero di volte in cui il ciclo è stato eseguito. Ecco come dovrebbe apparire il ciclo nel tuo codice.

#!/bin/sh
for i in 1 2 3 4 5
do
  echo "Executing loop $i time(s)"
done

2. Generazione di un elenco casuale di numeri utilizzando for Loop negli script Shell

Ora ci spostiamo verso un esempio per l'utilizzo della variante tipo C del ciclo For. Sappiamo tutti come utilizzare i comandi integrati per generare numeri pseudo-casuali con uno script di shell.

Qui useremo questa conoscenza per generare un elenco di 5 numeri pseudo-casuali.

#!/bin/sh
for (( i=1; i <= 5; i++ ))
do
 echo "Randomiser iteration $i: $RANDOM"
done

3. Stampa dei nomi di file e directory utilizzando for Loop

Gestire un gran numero di file e directory uno per uno richiede molto tempo. Digitare lo stesso comando più e più volte è una perdita di tempo.

Quindi dovremmo sfruttare il ciclo for per automatizzare l'esecuzione di un comando. Diamo un'occhiata allo script di shell di esempio di seguito per stampare il nome di tutti i file e le directory presenti nella tua home directory.

#!/bin/sh
i=1
cd ~
for item in *
do
    echo "File number $((i++)) : $item"
done

Conclusione

I cicli for sono un potente strumento per i programmatori di shell. È lo strumento migliore da utilizzare quando è necessario eseguire un insieme di istruzioni un numero fisso di volte.

Automatizzando l'esecuzione di istruzioni specifiche non solo è necessario scrivere meno codice, ma anche liberare tempo che può essere utilizzato in attività più importanti come il debug.

Ci auguriamo che questo tutorial sia stato in grado di aiutarti a capire come utilizzare la funzione del ciclo For. Se hai domande, feedback o suggerimenti, non esitare a contattarci nei commenti qui sotto.


Linux
  1. Esistono convenzioni di denominazione per le variabili negli script della shell?

  2. Estensioni di file per script di shell Unix?

  3. Come verificare la conformità a Posix degli script della shell?

  4. Comprendere gli script rc in Linux

  5. Ambito variabile per gli script e le funzioni della shell bash nello script

Che cos'è la shell in Linux?

Script di shell per principianti - Come scrivere script Bash in Linux

Bash For Loop – La guida più pratica

Array negli script di shell

Il ciclo while negli script della shell

Il ciclo Bash FOR spiegato e semplificato