Strutture iterative (for, while)
Automatizzi le attività ripetitive usando i cicli «for» e «while» per scorrere liste, file o condizioni.
Strutture iterative (for, while) è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Automatizzazione delle attività con i cicli
Benvenuto! In questa lezione esploreremo il mondo dei cicli nella programmazione Bash. I cicli sono strumenti potenti che consentono agli script di ripetere un insieme di comandi più volte.
Sono essenziali per automatizzare attività ripetitive, elaborare elenchi di dati o eseguire azioni finché non viene soddisfatta una determinata condizione. Esamineremo due tipi principali: i cicli for e i cicli while.
Il ciclo 'for': elenchi di elementi
Il ciclo for è ideale per scorrere un elenco fisso di elementi. L'elenco può essere costituito da una serie di parole, nomi di file, numeri o qualsiasi altro elemento definibile.
La sintassi di base è:
forvariableinitem1 item2 ...; do- commands to repeat
done
Ogni elemento dell'elenco verrà assegnato a variable e i comandi verranno eseguiti per ciascun elemento.
Esempio: iterazione di una lista
Vediamo il ciclo for in azione iterando su una lista di frutti. Provi a eseguire questo esempio per vedere come viene elaborato ogni frutto:
#!/bin/bash
echo "My favorite fruits:"
for fruit in Apple Banana Orange;
do
echo "$fruit is delicious!"
doneCiclo «for»: sequenze numeriche
Il ciclo for può anche generare e percorrere facilmente sequenze numeriche. È molto utile per le attività che richiedono di contare o elaborare elementi in base al loro indice.
Può usare l’espansione con parentesi graffe {start..end} per creare una sequenza di numeri:
for i in {1..5}; do ... done
In alternativa, il comando seq può generare sequenze con più opzioni, ad esempio specificando il passo:
for i in $(seq 1 2 10); do ... done
Esempio: contare con «for»
Ecco come usare l’espansione con parentesi graffe per contare da 1 a 3. Questo è uno schema comune per i cicli numerici semplici.
#!/bin/bash
echo "Counting up:"
for i in {1..3};
do
echo "Number: $i"
doneIl ciclo «while»: ripetizione condizionata
Il ciclo while esegue ripetutamente un blocco di comandi finché una determinata condizione rimane vera. È ideale quando non si sa in anticipo quante volte sia necessario ripetere il ciclo.
La sintassi di base è:
while[ condition ]; do- comandi da ripetere
done
La condizione viene valutata prima di ogni iterazione. Se è vera, i comandi vengono eseguiti; se è falsa, il ciclo termina.
Esempio: contatore semplice con «while»
Questo esempio mostra un ciclo while che conta da 1 a 3. Noti come la variabile count venga incrementata all’interno del ciclo, fino a rendere falsa la condizione.
#!/bin/bash
count=1
echo "Counting with while loop:"
while [ $count -le 3 ];
do
echo "Current count: $count"
count=$((count + 1))
doneCiclo «while»: lettura dei file riga per riga
Un uso molto comune e potente del ciclo while consiste nel leggere ed elaborare un file riga per riga. È fondamentale per analizzare file di log, file di configurazione o qualsiasi dato testuale.
Lo schema è spesso simile al seguente:
while IFS= read -r line; do- comandi per elaborare $line
done < filename.txt
IFS= read -r è un metodo robusto per leggere le righe, che evita problemi con gli spazi bianchi e le barre rovesciate.
Esempio: elaborazione di un file
Creiamo un file temporaneo e usiamo un ciclo while per leggerne e visualizzarne il contenuto riga per riga. Questo mostra un’applicazione pratica dell’elaborazione dei file.
#!/bin/bash
# Create a temporary file for demonstration
echo "First line of data" > temp_data.txt
echo "Second line of data" >> temp_data.txt
echo "Third line of data" >> temp_data.txt
echo "\nReading from temp_data.txt:"
while IFS= read -r line;
do
echo "Processed: $line"
done < temp_data.txt
# Clean up the temporary file
rm temp_data.txtScelta del tipo di ciclo
Ha imparato a conoscere i cicli for e while. Ognuno ha i propri punti di forza, a seconda dell’attività da svolgere.
Consideri il seguente scenario: è necessario elaborare ogni nome di file contenuto in una directory specifica.
Riepilogo: cicli per l’automazione
Ha esplorato con successo le strutture iterative di Bash!
- Il ciclo
forè ideale per iterare su un elenco finito e noto di elementi o su una sequenza di numeri. - Il ciclo
whileè la scelta migliore quando è necessario ripetere i comandi finché una determinata condizione rimane vera; viene spesso usato per contare o leggere i file riga per riga.
La padronanza di questi cicli è fondamentale per scrivere script Bash potenti e automatizzati. Continui a esercitarsi per migliorare le Sue competenze nella scrittura di script!
Domande Frequenti
La lezione «Strutture iterative (for, while)» è gratuita?
Sì — il testo completo di «Strutture iterative (for, while)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Cosa imparerò in «Strutture iterative (for, while)»?
Automatizzi le attività ripetitive usando i cicli «for» e «while» per scorrere liste, file o condizioni. Eserciti Linux Command Line & Bash Scripting Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Command Line & Bash Scripting Mastery?
Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Strutture iterative (for, while)»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Command Line & Bash Scripting Mastery?
Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Strutture iterative (for, while)
- Funzioni negli script Bash
- Argomenti e opzioni degli script ($@, $#, getopts)
- L'istruzione case e il pattern matching