0Pricing
Linux Command Line & Bash Scripting Mastery · Lezione

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 è:

  • for variable in item1 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!"
done

Ciclo «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"
done

Il 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))
done

Ciclo «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.txt

Scelta 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

  1. Strutture iterative (for, while)
  2. Funzioni negli script Bash
  3. Argomenti e opzioni degli script ($@, $#, getopts)
  4. L'istruzione case e il pattern matching
← Torna a Linux Command Line & Bash Scripting Mastery