Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 78

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>BASH Programming  - Introduction HOWTO: Cicli for, while e until</TITLE>
 <LINK HREF="Bash-Prog-Intro-HOWTO-8.html" REL=next>
 <LINK HREF="Bash-Prog-Intro-HOWTO-6.html" REL=previous>
 <LINK HREF="Bash-Prog-Intro-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Bash-Prog-Intro-HOWTO-8.html">Avanti</A>
<A HREF="Bash-Prog-Intro-HOWTO-6.html">Indietro</A>
<A HREF="Bash-Prog-Intro-HOWTO.html#toc7">Indice</A>
<HR>
<H2><A NAME="s7">7. Cicli for, while e until</A>        </H2>

<P> In questa sezione troverai cicli for, while e until.
<P> Il ciclo <B>for</B> &egrave; leggermente diverso da quello degli altri linguaggi
di programmazione. Basilarmente, ti permette un'iterazione su una serie
di 'parole' in una stringa.
<P> Il <B>while</B> esegue una porzione di codice se l'espressione di
controllo &egrave; vera, e si ferma esclusivamente quando &egrave; falsa (o viene
raggiunta un'interruzione esplicita all'interno del codice eseguito).
<P> Il ciclo <B>until</B> &egrave; all'incirca uguale al ciclo while, solo che il
codice &egrave; eseguito finch&egrave; l'espressione di controllo ha valore "falso".
<P> Se hai il sospetto che while e until siano molto simili hai ragione.
    
<H2><A NAME="ss7.1">7.1 Per esempio</A>
        </H2>

<P> 
<BLOCKQUOTE><CODE>
<PRE>
        #!/bin/bash
        for i in $( ls ); do
            echo item: $i
        done
        
</PRE>
</CODE></BLOCKQUOTE>
<P> 
<P> Sulla seconda riga, dichiariamo i come la variabile che prender&agrave; i
differenti valori contenuti in $( ls ).
<P> La terza riga potrebbe essere pi&ugrave; lunga se necessario, o ci
potrebbero essere pi&ugrave; righe prima del done (4).
<P> `done' (4) indica che il codice che ha utilizzato il valore di $i 
&egrave; terminato e $i pu&ograve; ricevere un nuovo valore.
<P> Questo script ha veramente poco senso, ma un modo pi&ugrave; utile per
utilizzare il ciclo for sarebbe di usarlo per isolare ("to match", ndt)
solo certi file nell'esempio precedente.
<P>
<H2><A NAME="ss7.2">7.2 For simil-C</A>
        </H2>

<P> fiesh ha suggerito di aggiungere questo modo di eseguire un ciclo. Si tratta
di un ciclo for pi&ugrave; simile al for dei linguaggi C/perl...
<BLOCKQUOTE><CODE>
<PRE>
        #!/bin/bash
        for i in `seq 1 10`;
        do
                echo $i
        done    
        
</PRE>
</CODE></BLOCKQUOTE>
<H2><A NAME="ss7.3">7.3 Esempio di while</A>
         </H2>

<P> 
<BLOCKQUOTE><CODE>
<PRE>
         #!/bin/bash 
         COUNTER=0
         while [  $COUNTER -lt 10 ]; do
             echo The counter is $COUNTER
             let COUNTER=COUNTER+1 
         done
         
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P> Questo script 'emula' la ben conosciuta struttura 'for' dei linguaggi
C, Pascal, perl, etc.
<H2><A NAME="ss7.4">7.4 Esempio di until</A>
         </H2>

<P> 
<BLOCKQUOTE><CODE>
<PRE>
         #!/bin/bash 
         COUNTER=20
         until [  $COUNTER -lt 10 ]; do
             echo COUNTER $COUNTER
             let COUNTER-=1
         done
         
</PRE>
</CODE></BLOCKQUOTE>
<HR>
<A HREF="Bash-Prog-Intro-HOWTO-8.html">Avanti</A>
<A HREF="Bash-Prog-Intro-HOWTO-6.html">Indietro</A>
<A HREF="Bash-Prog-Intro-HOWTO.html#toc7">Indice</A>
</BODY>
</HTML>