{"id":8976,"date":"2026-05-14T05:49:04","date_gmt":"2026-05-14T05:49:04","guid":{"rendered":"\/it\/tutorial\/?p=8976"},"modified":"2026-05-14T05:49:58","modified_gmt":"2026-05-14T05:49:58","slug":"ciclo-for-bash","status":"publish","type":"post","link":"\/it\/tutorial\/ciclo-for-bash","title":{"rendered":"Come usare il ciclo for in Bash (Bash for loop): sintassi ed esempi"},"content":{"rendered":"<p>Un <strong>ciclo for in Bash<\/strong> (Bash for loop) &egrave; un&rsquo;istruzione del linguaggio di programmazione Bash che consente a un codice o a uno script di essere eseguito ripetutamente. Ti consente di completare attivit&agrave; ripetitive contemporaneamente, contribuendo a migliorare l&rsquo;efficienza della gestione del sistema.&nbsp;<\/p><p>Un ciclo for in Bash funziona assegnando gli elementi di un elenco a una variabile ed eseguendo un&rsquo;operazione per ciascuno di essi. La sintassi di base &egrave; la seguente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for VARIABILE in 1 2 3 4 5 ... N\nEsegui i seguenti comandi:\ncomando1\ncomando2\ncomandoN\ndone<\/pre><p>In uno scenario reale, un ciclo for di Bash pu&ograve; essere implementato in vari modi, spesso con il coinvolgimento di altri concetti di programmazione. Per esempio, puoi usare un ciclo for di Bash per creare un ciclo a tre espressioni, un ciclo infinito, una sequenza di avvio e arresto e altro ancora.&nbsp;<\/p><p>Continua a leggere per saperne di pi&ugrave; sul ciclo for di Bash e sui suoi esempi pratici di utilizzo.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-what-is-a-bash-for-loop\">Che cos&rsquo;&egrave; un ciclo for di Bash?<\/h2><p>Un ciclo for in Bash &egrave; una struttura che ti permette di eseguire ripetutamente un insieme di comandi su pi&ugrave; elementi con una sola esecuzione. &Egrave; utile per automatizzare operazioni ripetitive, come rinominare i file, in un sistema basato sulla riga di comando come un <a href=\"\/it\/vps\">server virtuale privato Linux<\/a> (VPS).<\/p><p>La logica alla base di un ciclo for in Bash &egrave; la seguente: un insieme di comandi continuer&agrave; a essere eseguito in un ciclo per ogni elemento elencato nella variabile. Questo ciclo termina dopo aver eseguito l&rsquo;operazione per l&rsquo;ultimo elemento. <\/p><p>In parole semplici, puoi interpretarlo cos&igrave;: <strong>per<\/strong> ogni elemento assegnato alla variabile, il <strong>ciclo<\/strong> esegue lo stesso insieme di comandi. Tuttavia, puoi aggiungere istruzioni condizionali per modificare il comportamento del ciclo.<\/p><p>Vediamo la sintassi di un ciclo for di Bash riga per riga nella prossima sezione, per capire meglio come funziona. <\/p><h2 class=\"wp-block-heading\" id=\"h-what-is-the-syntax-of-a-bash-for-loop\">Qual &egrave; la sintassi di un ciclo for di Bash?<\/h2><p>Il ciclo for di Bash esegue ripetutamente un insieme di comandi, iterando attraverso una sequenza di elementi o valori. La sintassi di un&rsquo;operazione di questo tipo &egrave; la seguente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for VARIABILE in 1 2 3 4 5 ... N\nEsegui i seguenti comandi:\ncomando1\ncomando2\ncomandoN\ndone<\/pre><p>Nel mondo reale, questa sintassi apparirebbe come nell&rsquo;esempio qui sotto:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash\nfor i in 1 2 3 4 5\ndo\necho \"Ciao $i\"\ndone<\/pre><p>L&rsquo;esecuzione del file bash provocher&agrave; la seguente sequenza:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Ciao 1\nCiao 2\nCiao 3\nCiao 4\nCiao 5<\/pre><p>Esaminiamo ogni elemento:<\/p><ul class=\"wp-block-list\">\n<li><strong>#!\/bin\/bash &ndash;<\/strong> indica che il codice &egrave; uno script bash.<\/li>\n\n\n\n<li><strong>i<\/strong> &ndash; &egrave; un segnaposto per una variabile. Nel frattempo, <strong>$i<\/strong> &egrave; il valore individuale della variabile. Puoi anche scriverlo come <strong>c\/$c<\/strong> o con qualsiasi altro nome.<\/li>\n\n\n\n<li><strong>in<\/strong> &ndash; separa la variabile dagli elementi che seguono.<\/li>\n\n\n\n<li><strong>1 2 3 4 5<\/strong> &ndash; &egrave; un esempio di elementi su cui vuoi eseguire l&rsquo;istruzione.<\/li>\n\n\n\n<li><strong>do<\/strong> &ndash; &egrave; la parola chiave che avvia i cicli. Eseguir&agrave; quindi l&rsquo;istruzione <strong>n<\/strong> volte, dove <strong>n<\/strong> &egrave; il numero totale di elementi. Qui, il valore di <strong>n<\/strong> &egrave; <strong>5<\/strong>.<\/li>\n\n\n\n<li><strong>echo &ldquo;Ciao: $i<strong>&ldquo;<\/strong> <\/strong> &ndash; &egrave; il <a href=\"\/it\/tutorial\/comandi-linux\">comando Linux<\/a> o l&rsquo;operazione che ripeteremo <strong>n<\/strong> volte. Ricorda che le virgolette trasformano tutto ci&ograve; che contengono in un&rsquo;unica variabile.<\/li>\n\n\n\n<li><strong>done<\/strong> &ndash; interrompe il loop.<\/li>\n<\/ul><p>Le altre due sintassi comuni dei comandi di loop sono queste:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for VARIABLE in file1 file2 file3\ndo\ncomando1 on $VARIABLE\ncomando2\ncomandoN\ndone<\/pre><p>E questo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for OUTPUT in $(Linux-Or-Unix-Command-Here)\ndo\ncomando1 on $OUTPUT\ncommando2 on $OUTPUT\ncommandoN\ndone<\/pre><figure class=\"wp-block-image size-large\"><a href=\"\/it\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"2048\" height=\"600\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-1333\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=2048,fit=scale-down 2048w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/a><\/figure><p>Ora che hai capito la sintassi del ciclo for in Bash, vediamo alcuni esempi di come appare lo script vero e proprio nelle applicazioni reali. <\/p><h2 class=\"wp-block-heading\" id=\"h-what-are-the-examples-of-a-bash-for-loop\">Quali sono gli esempi di un ciclo for in Bash?<\/h2><p>Ecco alcuni esempi di cicli for in Bash usati per eseguire pi&ugrave; operazioni. Se vuoi seguire questa procedura, devi accedere al tuo VPS.<\/p><p>Ricorda che le funzioni bash devono trovarsi in un file <strong>.sh<\/strong>. Per crearne uno, esegui il seguente comando nella riga di comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vim filename.sh<\/pre><p>Questo creer&agrave; un file .sh e lo aprir&agrave; nell&rsquo;editor VIM. Puoi saperne di pi&ugrave; nell&rsquo;articolo sulle funzioni di base di Bash menzionato in precedenza.<\/p><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-with-a-number\">Come usare un ciclo for di Bash con un numero<\/h3><p>Usare un ciclo for di Bash con i numeri ti permette di iterare in un intervallo invece di specificare gli elementi singolarmente. Per farlo, aggiungi l&rsquo;intervallo tra parentesi graffe separato da due punti.<\/p><p>Per esempio, il seguente ciclo stamper&agrave; tutti i numeri da uno a cinque:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for i in {1..5}\ndo\n  echo \"$i\"\ndone<\/pre><p>Puoi anche modificare l&rsquo;incremento usando la sintassi a tre espressioni <strong>{START..END..INCREMENT}<\/strong>. Ecco l&rsquo;esempio di codice:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for i in {1..10..2}\ndo\n  echo \"Number: $i\"\ndone<\/pre><p>\n\n\n<div><p class=\"important\"><strong>Importante!<\/strong> In alcuni script, la sintassi di incremento usa le doppie parentesi invece delle parentesi graffe. In ogni caso, entrambi hanno la stessa funzione.<\/p><\/div>\n\n\n\n<\/p><p>Il ciclo operer&agrave; sul primo valore, <strong>1<\/strong>, passer&agrave; al valore successivo con incrementi di due fino a <strong>3<\/strong> <strong> <\/strong>e cos&igrave; via. Quando raggiunge il valore finale di <strong>10<\/strong>, il codice si interrompe. Ecco l&rsquo;output:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"807\" height=\"138\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-incrementale.png\" alt=\"L&rsquo;output del ciclo for di bash con incremento\" class=\"wp-image-8960\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-incrementale.png 807w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-incrementale-300x51.png 300w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-incrementale-768x131.png 768w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/figure><\/div><p>Tieni presente che la funzionalit&agrave; di intervallo &egrave; disponibile solo in <strong>Bash versione 3.0<\/strong> o successive, mentre l&rsquo;incremento &egrave; supportato in <strong>Bash 4.0<\/strong> e versioni pi&ugrave; recenti.<\/p><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-with-array-elements\"><strong>Come usare un ciclo for di Bash con gli elementi di un array<\/strong> <\/h3><p>Combinando un ciclo for di Bash con un array, iteri sugli elementi raggruppati ed esegui un insieme di comandi per ciascuno di essi. Invece di usare un elenco, integrare gli array in Bash rende il tuo script pi&ugrave; organizzato e facile da leggere, soprattutto quando vuoi usare molti elementi.<\/p><p>Per usare un ciclo for di Bash con un array, dichiara l&rsquo;array e i suoi elementi all&rsquo;inizio. Quindi, aggiungilo alla tua espressione for-in in questo modo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#Dichiara un array di elementi\narray=(\"elemento1\" \"elemento2\" \"elemento3\" \"elemento4\")\n\n#Scorri l'array ed esegui le operazioni\nfor elemento in \"${array[@]}\"\ndo\n   comando1\n   comando2\n   comando3\ndone<\/pre><p>Ecco un esempio di ciclo for in Bash con elementi di un array, usando la frutta come elementi:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fruit_array=(\"apple\" \"banana\" \"red cherry\" \"green grape\")\n\nfor fruit in \"${fruit_array[@]}\"\ndo\n   echo \"Fruit: $fruit\"\ndone<\/pre><p>Il loop bash scorrer&agrave; gli elementi dell&rsquo;array e user&agrave; il comando <strong>echo<\/strong> per stamparli con il prefisso <strong>Fruit:<\/strong>. Ecco come appare l&rsquo;output:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"737\" height=\"112\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-di-array.png\" alt=\"L&rsquo;output di un ciclo for di Bash con un array\" class=\"wp-image-8962\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-di-array.png 737w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-di-array-300x46.png 300w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/><\/figure><\/div><p>Se aggiungi un altro comando, il ciclo operer&agrave; sullo stesso elemento prima di passare a quello successivo. Per esempio, inseriremo un altro <strong>echo <\/strong>per aggiungere un suffisso all&rsquo;elemento. Ecco l&rsquo;output:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"892\" height=\"201\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-di-un-ciclo-for-bash-con-array-e-due-operazioni.png\" alt=\"L&rsquo;output di un ciclo for di Bash con un array e due operazioni\" class=\"wp-image-8964\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-di-un-ciclo-for-bash-con-array-e-due-operazioni.png 892w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-di-un-ciclo-for-bash-con-array-e-due-operazioni-300x68.png 300w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-di-un-ciclo-for-bash-con-array-e-due-operazioni-768x173.png 768w\" sizes=\"(max-width: 892px) 100vw, 892px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-with-a-shell-variable\">Come usare un ciclo for di Bash con una variabile della shell<\/h3><p>Combinare un ciclo for di Bash con una variabile della shell ti permette di memorizzare gli elementi che il tuo codice scorrer&agrave; in iterazione. Funziona in modo simile a un array, perch&eacute; raggruppi pi&ugrave; elementi, ma usa gli spazi per separare le voci. <\/p><p>Un ciclo for di Bash con una variabile di shell usa la seguente sintassi:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#Definisci la variabile della shell\nvariabile=\"un singolo elemento\"\n\n#Scorri la variabile ed esegui le operazioni\nfor elemento in $variabile\ndo\n   comando1\n   comando2\n   comando3\ndone<\/pre><p>La variabile della shell contiene un solo elemento di dati, ma il ciclo Bash itera automaticamente sugli elementi separati da spazi, trattandoli come entit&agrave; distinte. Considera questo esempio:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var_numbers=\"1 2 3 4 5\"\n\nfor number in $var_numbers\ndo\n   echo \"Number: $number\"\ndone<\/pre><p>Invece di stampare i numeri come una stringa, il ciclo bash li stamper&agrave; singolarmente perch&eacute; sono separati da uno spazio. Per trattare gli elementi come un&rsquo;unica entit&agrave;, racchiudi la variabile <strong>$var_numbers<\/strong> nell&rsquo;espressione <strong>for-in <\/strong>tra virgolette, come segue:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for number in \"$var_numbers\"<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"592\" height=\"46\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-della-variabile-di-un-singolo-elemento.png\" alt=\"L&rsquo;output di un ciclo for di Bash con una variabile composta da un solo elemento\" class=\"wp-image-8966\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-della-variabile-di-un-singolo-elemento.png 592w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/ciclo-bash-con-output-della-variabile-di-un-singolo-elemento-300x23.png 300w\" sizes=\"(max-width: 592px) 100vw, 592px\" \/><\/figure><\/div><p>Puoi modificare il comportamento delle variabili di Bash per cambiare l&rsquo;output del ciclo.<\/p><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-with-strings\">Come usare un ciclo for di Bash con le stringhe<\/h3><p>Combinare un ciclo for di Bash con le stringhe ti permette di scorrere il testo per eseguire operazioni come la concatenazione, che in genere viene raggruppata in una variabile o in un array della shell. Usare una variabile della shell &egrave; comune se le stringhe non sono separate da uno spazio, come nella sintassi seguente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">variabile=\"stringa1 stringa2 stringa3\"\n\nfor elemento in $variabile\ndo\n   comando1\n   comando2\n   comando3\ndone<\/pre><p>Nel frattempo, usa un ciclo for di Bash con stringhe raggruppate in un array se la tua stringa contiene spazi. Oltre a consentire al loop bash di leggere elementi separati da spazi, sono pi&ugrave; facili da iterare ed espandere. Ecco la sintassi:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">array=(\"Primo elemento\" \"Secondo elemento\" \"Terzo elemento\" \"Quarto elemento\")\n\nfor elemento in \"${array[@]}\"\ndo\n   comando1\n   comando2\n   comando3\ndone<\/pre><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-to-create-a-three-expression-loop\"><strong>Come usare un ciclo for di Bash per creare un ciclo a tre espressioni<\/strong> <\/h3><p>Usare un ciclo for di Bash per creare un ciclo a tre espressioni utilizza una struttura simile al linguaggio di programmazione C. Questa struttura &egrave; composta da tre espressioni di scrittura: un&rsquo;inizializzazione (<strong>EXP1<\/strong>), una condizione (<strong>EXP2<\/strong>) e un passaggio di conteggio (<strong>EXP3<\/strong>).<\/p><p>L&rsquo;inizializzatore imposta la variabile iniziale dello script e la condizione determina se il ciclo continua oppure no. Nel frattempo, il passaggio di conteggio modifica il valore iniziale finch&eacute; non soddisfa la condizione specificata. La sintassi di questo ciclo &egrave; la seguente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for (( ESP1; ESP2; ESP3 ))\ndo\n    comando1\n    comando2\n    comando3\ndone<\/pre><p>Per capire meglio, considera il seguente esempio di codice:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash\nfor (( c=1; c&lt;=5; c++ ))\ndo  \n  echo \"The number $c\"\ndone<\/pre><p>Il codice imposta il valore iniziale del ciclo su <strong>1<\/strong>. Il ciclo verr&agrave; eseguito finch&eacute; la condizione in <strong>EXP2<\/strong> &egrave; vera: la variabile code non deve essere maggiore di <strong>5<\/strong>. L&rsquo;espressione di conteggio contiene il segno <strong>++<\/strong>, che incrementa il valore iniziale di uno ogni volta che il ciclo viene eseguito.<\/p><p>Lo script bash mostrer&agrave; un messaggio &ldquo;<strong>$c<\/strong>&rdquo; che si riferisce al valore del ciclo, partendo da <strong>1 <\/strong>fino a raggiungere la condizione specificata. L&rsquo;output sar&agrave; il seguente:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"831\" height=\"132\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-del-ciclo-bash-a-tre-espressioni.png\" alt=\"L&rsquo;output del ciclo for di Bash a tre espressioni\" class=\"wp-image-8968\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-del-ciclo-bash-a-tre-espressioni.png 831w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-del-ciclo-bash-a-tre-espressioni-300x48.png 300w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-del-ciclo-bash-a-tre-espressioni-768x122.png 768w\" sizes=\"(max-width: 831px) 100vw, 831px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-to-create-an-infinite-loop\">Come usare un ciclo for di Bash per creare un loop infinito<\/h3><p>Creare un ciclo infinito con un ciclo for di Bash ti permette di eseguire il codice all&rsquo;infinito finch&eacute; non interrompi il processo manualmente premendo <strong>Ctrl + C<\/strong>.<strong> <\/strong>Ci sono diversi modi per farlo, ad esempio usando l&rsquo;espressione <strong>while<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">while true\ndo\n   echo \"Ciao, mondo!\"\n   sleep 1\ndone<\/pre><p>Quando la condizione &egrave; <strong>true<\/strong>, il comando stamper&agrave; il messaggio <strong>Hello, world!<\/strong> con un ritardo di un secondo. Lo snippet usa l&rsquo;istruzione condizionale <strong>while true<\/strong> per fare in modo che il codice restituisca sempre uno stato di uscita positivo.<\/p><p>Poich&eacute; la condizione rimane <strong>true<\/strong>, il codice continuer&agrave; a eseguire in loop il comando <strong>echo<\/strong> per stampare il messaggio. Un altro metodo consiste nell&rsquo;usare il ciclo infinito a tre espressioni:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for (( ; ; ))\ndo\n   echo \"Hello, world!\"\n   sleep 1\ndone<\/pre><p>Nel frammento, impostiamo tutte le espressioni come vuote. Dato che non c&rsquo;&egrave; alcuna condizione di terminazione da soddisfare, il ciclo continuer&agrave; finch&eacute; l&rsquo;utente non lo interrompe.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"653\" height=\"88\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-di-un-ciclo-bash-infinito.png\" alt=\"L&rsquo;output del ciclo for infinito in Bash\" class=\"wp-image-8972\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-di-un-ciclo-bash-infinito.png 653w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/output-di-un-ciclo-bash-infinito-300x40.png 300w\" sizes=\"(max-width: 653px) 100vw, 653px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-to-create-the-skip-and-continue-loop\">Come usare un ciclo for di Bash per creare un ciclo con skip e continue<\/h3><p>Un ciclo for di Bash ti permette di creare un ciclo che salta un valore specifico e poi continua a essere eseguito. Questa operazione usa la seguente sintassi:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for i in 1 2 3 4 5\ndo\n   if [condizione]\n   then\n      #Passa all'iterazione successiva di i e salta l'istruzione\n      continue\n   fi\n\n   istruzione\ndone<\/pre><p>Ecco un esempio di codice di un ciclo skip-and-continue:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for i in {1..5}\ndo\n   if [[ \"$i\" == '4' ]]\n   then\n      continue   \n   fi\n      echo \"Hello $i\"\ndone<\/pre><p>Nel frammento definiamo come numeri da uno a cinque gli elementi da modificare. Aggiungiamo una condizione <strong>if<\/strong>, indicando che quando il valore della variabile &egrave; uguale a <strong>4<\/strong>, il ciclo non esegue il codice e passa al valore successivo. Significa che il ciclo operer&agrave; su <strong>1<\/strong>, <strong>2<\/strong>, <strong>3<\/strong> e <strong>5<\/strong>, come mostra l&rsquo;output:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"727\" height=\"106\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/saltare-output-ciclo-bash-continue.png\" alt=\"L&rsquo;output del ciclo bash skip-continue\" class=\"wp-image-8973\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/saltare-output-ciclo-bash-continue.png 727w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/saltare-output-ciclo-bash-continue-300x44.png 300w\" sizes=\"(max-width: 727px) 100vw, 727px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-how-to-use-a-bash-for-loop-to-create-a-conditional-exit-with-break-loop\"><strong>Come usare un ciclo for di Bash per creare un&rsquo;uscita condizionale con break<\/strong> <\/h3><p>Un ciclo for di Bash ti permette di creare un ciclo che si interrompe automaticamente quando incontra una condizione specifica, usando il costrutto <strong>for-in<\/strong> con questa sintassi:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for i in 1 2 3 4 5\ndo\n   if [condizione]\n   then\n      break\n   fi\n\n   istruzione\ndone<\/pre><p>Puoi aggiungere un altro comando alla fine del codice, che verr&agrave; eseguito dopo la fine del ciclo. Considera il seguente esempio:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">for state in Alabama Alaska Arizona Arkansas California\ndo\n   if [[ \"$state\" == 'Arkansas' ]]; then\n      break\n   fi\n   echo \"state: $state\"\ndone\n\necho 'That&rsquo;s all!'<\/pre><p>Lo script del ciclo stampa tutti i nomi degli stati specificati nell&rsquo;elenco, ma si interrompe non appena viene soddisfatta la condizione di interruzione, cio&egrave; quando il valore corrente &egrave; uguale ad <strong>Arkansas<\/strong>. Poi passa all&rsquo;istruzione successiva per ripetere il messaggio &ldquo;<strong>That&rsquo;s all!<\/strong>&rdquo;. Ecco come appare l&rsquo;output:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"662\" height=\"110\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/bash-loop-break-condition-output.png\" alt=\"L&rsquo;output di un ciclo bash con uscita condizionale tramite break\" class=\"wp-image-8974\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/bash-loop-break-condition-output.png 662w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/bash-loop-break-condition-output-300x50.png 300w\" sizes=\"(max-width: 662px) 100vw, 662px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-how-to-effectively-use-a-bash-script-in-hostinger-vps\">Come usare in modo efficace uno script Bash su Hostinger VPS<\/h3><p>Usare un ciclo for di Bash insieme alle funzionalit&agrave; del tuo fornitore di hosting web pu&ograve; semplificare ulteriormente le attivit&agrave; di amministrazione del server, rendendole pi&ugrave; efficienti. <\/p><p>Per esempio, i piani VPS di Hostinger includono un <strong>terminale nel browser<\/strong> integrato nel nostro pannello di controllo personalizzato per l&rsquo;hosting, hPanel. Ti consente di eseguire comandi Linux e utility come bash loop direttamente dal tuo browser web.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/it\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"2048\" height=\"600\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-1333\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=2048,fit=scale-down 2048w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/a><\/figure><p>Abbiamo un agente AI, <strong>Kodee<\/strong>, che semplifica la gestione del VPS per chi &egrave; alle prime armi. Per esempio, puoi chiedergli di generare script Bash con cicli for per diverse attivit&agrave; usando prompt semplici come &ldquo;Puoi generare un ciclo for in Bash che riavvia un elenco di servizi?&rdquo; oppure &ldquo;Crea un ciclo for in Bash per eseguire il backup di pi&ugrave; directory.&rdquo;<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a0c43e8e9be0\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"386\" height=\"442\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/kodee-genera-uno-script-bash-for-loop.png\" alt=\"Kodee genera uno script bash con un ciclo for in base alla richiesta di un utente\" class=\"wp-image-8975\" srcset=\"https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/kodee-genera-uno-script-bash-for-loop.png 386w, https:\/\/www.hostinger.com\/it\/tutorial\/wp-content\/uploads\/sites\/27\/2026\/05\/kodee-genera-uno-script-bash-for-loop-262x300.png 262w\" sizes=\"(max-width: 386px) 100vw, 386px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Per accedere allo strumento, accedi a hPanel e fai click su <strong>VPS<\/strong> nel menu in alto. Seleziona il server applicabile e vai su <strong>Kodee<\/strong> nella barra laterale. Per ottenere risultati accurati, assicurati che i tuoi prompt AI per lo sviluppo web siano specifici e chiari.<\/p><p>\n\n\n<div><p class=\"important\"><strong>Importante!<\/strong> A causa dei limiti dell&rsquo;AI, alcune risposte potrebbero essere inaccurate o obsolete.<\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-key-takeaways\">Punti chiave <\/h2><p>Un ciclo for di Bash &egrave; ottimo per automatizzare attivit&agrave; ripetitive, elaborare dati e gestire un sistema di tipo UNIX. Per esempio, con una singola esecuzione, puoi scorrere un elenco di nomi per creare automaticamente nuovi utenti quando <a href=\"\/it\/tutorial\/come-configurare-un-vps\">configuri un nuovo VPS<\/a>. <\/p><p>Come spiegato, puoi eseguire varie assegnazioni con un ciclo for di Bash combinandolo con altri costrutti di Bash, come <strong>for-in<\/strong>. Puoi ampliare ulteriormente le sue funzionalit&agrave; integrando altri strumenti da riga di comando per creare un modo efficiente di portare a termine un&rsquo;attivit&agrave;. <\/p><p>Ora che hai capito le basi di un ciclo for in Bash, &egrave; il momento di esercitarti a usarlo nelle attivit&agrave; di tutti i giorni. Se usi un VPS Hostinger, chiedere a <strong>Kodee<\/strong> di scrivere o scomporre script Bash con cicli for rende il processo di apprendimento pi&ugrave; intuitivo e ti aiuta a prendere dimestichezza pi&ugrave; rapidamente. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un ciclo for in Bash (Bash for loop) &egrave; un&rsquo;istruzione del linguaggio di programmazione Bash che consente a un codice o a uno script di essere eseguito ripetutamente. Ti consente di completare attivit&agrave; ripetitive contemporaneamente, contribuendo a migliorare l&rsquo;efficienza della gestione del sistema.&nbsp; Un ciclo for in Bash funziona assegnando gli elementi di un elenco [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/it\/tutorial\/ciclo-for-bash\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Come usare il ciclo for in Bash (Bash for loop)","rank_math_description":"Scopri come usare il ciclo for in Bash (Bash for loop), con sintassi, esempi pratici e comandi per automatizzare task.","rank_math_focus_keyword":"ciclo for in Bash","footnotes":""},"categories":[17],"tags":[],"class_list":["post-8976","post","type-post","status-publish","format-standard","hentry","category-vps"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/8976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/comments?post=8976"}],"version-history":[{"count":10,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/8976\/revisions"}],"predecessor-version":[{"id":9231,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/8976\/revisions\/9231"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/media?parent=8976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/categories?post=8976"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/tags?post=8976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}