0Pricing
Linux Command Line Mastery · Lezione

Cicli: `for`, `while`, `until`

Automatizzi le attività ripetitive padroneggiando diversi tipi di cicli negli script shell.

Cicli: `for`, `while`, `until` è una lezione Linux Command Line Mastery gratuita su CoddyKit. Questa è la lezione 3 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 Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line Mastery include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Why Use Loops?

Imagine you need to perform the same action many times, like saying 'Hello' to everyone in a list, or counting from 1 to 100. Doing this manually would be tedious and error-prone.

This is where loops come in! Loops allow your script to repeat a set of commands multiple times, saving you effort and making your scripts more efficient.

Looping Through Items with `for`

The for loop is perfect when you know exactly what items you want to iterate over. It goes through a list, processing each item one by one.

Its basic syntax looks like this:

  • for item in list; do
  • # commands to run for each item
  • done

The item variable will hold each value from the list in turn.

`for` Loop in Action

Let's see the for loop iterate through a list of names. Each name is assigned to the name variable, and then printed.

Try running this example:

#!/bin/bash

echo "--- Greeting Friends ---"
for name in Alice Bob Charlie;
do
  echo "Hello, $name!"
done
echo "--- All greeted! ---"

`for` Loop for Number Ranges

What if you need to loop a specific number of times, like counting from 1 to 5? You can generate sequences for the for loop:

  • Brace Expansion: {1..5} creates "1 2 3 4 5".
  • seq command: $(seq 1 5) also creates "1 2 3 4 5".

Both are handy for numerical iterations.

Counting with `for` Loop

Here's how you can use brace expansion to count up to a specific number. The loop variable i takes on each number in the sequence.

Try running this example:

#!/bin/bash

echo "Counting up!"
for i in {1..3};
do
  echo "Count: $i"
done
echo "Done counting."

Repeating with `while`

The while loop is used when you want to repeat commands as long as a certain condition remains true. It continuously checks the condition before each iteration.

Its basic structure is:

  • while condition; do
  • # commands to run
  • done

The loop stops as soon as the condition becomes false.

`while` Loop Counter

Let's use a while loop to count. We initialize a variable count, and the loop continues as long as count is less than 3.

Remember to update the variable inside the loop, or it might run forever (an 'infinite loop')!

#!/bin/bash

count=0
echo "Starting while loop..."
while [ $count -lt 3 ]; do
  echo "Current count: $count"
  count=$((count + 1))
done
echo "While loop finished."

Repeating `until` True

The until loop is similar to while, but with an inverse condition. It executes commands until a specified condition becomes true.

Its syntax is:

  • until condition; do
  • # commands to run
  • done

The loop continues as long as the condition is false.

`until` Loop in Action

Here's an until loop waiting for a variable num to reach 3. It will keep running as long as num is not greater than or equal to 3.

Try running this example:

#!/bin/bash

num=0
echo "Starting until loop..."
until [ $num -ge 3 ]; do
  echo "Current number: $num"
  num=$((num + 1))
done
echo "Until loop finished."

When to Use Which Loop?

Choosing the right loop makes your scripts clearer and more efficient:

  • for loop: Best for iterating over a known list of items (files, names, numbers in a range).
  • while loop: Ideal when you need to repeat commands as long as a condition holds true (e.g., reading lines from a file, waiting for user input, counting).
  • until loop: Useful when you want to repeat commands until a specific condition becomes true (e.g., waiting for a process to finish, retrying an operation).

Loop Challenge

Let's test your understanding of shell loops.

Loops: A Quick Recap

Well done! You've learned the fundamental looping constructs in shell scripting:

  • The for loop iterates over a fixed list of items or a range.
  • The while loop repeats commands as long as a condition is true.
  • The until loop repeats commands until a condition becomes true.

These loops are essential for automating repetitive tasks and making your scripts dynamic and powerful. Keep practicing!

Domande Frequenti

La lezione «Cicli: `for`, `while`, `until`» è gratuita?

Sì — il testo completo di «Cicli: `for`, `while`, `until`» è 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 Mastery, passa a CoddyKit PRO. Il corso Linux Command Line Mastery include 4 lezioni in totale.

Cosa imparerò in «Cicli: `for`, `while`, `until`»?

Automatizzi le attività ripetitive padroneggiando diversi tipi di cicli negli script shell. Eserciti Linux Command Line 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 Mastery?

Non è richiesta alcuna esperienza precedente. Linux Command Line 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 3 di 4.

Quanto tempo richiede la lezione «Cicli: `for`, `while`, `until`»?

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 Mastery?

Sì. Ogni lezione Linux Command Line 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. Variabili, input e output
  2. Istruzioni condizionali: `if`, `else`, `case`
  3. Cicli: `for`, `while`, `until`
  4. Funzioni e argomenti negli script di shell
← Torna a Linux Command Line Mastery