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 .
- La prima parola chiave "per" specifica l'inizio del ciclo quando eseguiamo il nostro script di shell.
- È seguito da una variabile che può assumere valori specificati da val_1, val_2 e così via.
- 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".
- La parola chiave fai viene utilizzato prima delle istruzioni che desideriamo eseguire
- 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.
- 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
- Finché la condizione restituisce TRUE, il ciclo eseguirà tutte le istruzioni scritte tra “do ” e “fatto “.
- 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.