Ero sivun ”Bash-skriptaus” versioiden välillä

Siirry navigaatioon Siirry hakuun
24 merkkiä lisätty ,  29. kesäkuuta 2016
Rivi 155: Rivi 155:


<source lang="bash">
<source lang="bash">
for muuttuja in `ls`  
for muuttuja in `ls`  
do
do
  echo $muuttuja
    echo $muuttuja
done
done
</source>
</source>
Silmukassa suoritettavat rivit laitetaan siis sanojen <tt>do</tt> ja <tt>done</tt> väliin. Laskurimuuttujaan sijoitetaan vuorotellen <tt>in</tt>:n jälkeen olevat sanat, esimerkiksi tässä tapauksessa komennon [[ls]] tuloste (eli hakemistossa olevien tiedostojen nimet). Ohjelman tuloste voidaan merkitä myös seuraavasti: <tt>$(komento)</tt>. Jos silmukalla on käytävä läpi kaikki kokonaisluvut tietyltä väliltä, voi käyttää komentoa [[seq]], joka tulostaa kokonaisluvut väliltä 1-annettu parametri. Esimerkiksi
Silmukassa suoritettavat rivit laitetaan siis sanojen <tt>do</tt> ja <tt>done</tt> väliin. Laskurimuuttujaan sijoitetaan vuorotellen <tt>in</tt>:n jälkeen olevat sanat, esimerkiksi tässä tapauksessa komennon [[ls]] tuloste (eli hakemistossa olevien tiedostojen nimet). Ohjelman tuloste voidaan merkitä myös seuraavasti: <tt>$(komento)</tt>. Jos silmukalla on käytävä läpi kaikki kokonaisluvut tietyltä väliltä, voi käyttää komentoa [[seq]], joka tulostaa kokonaisluvut väliltä 1-annettu parametri. Esimerkiksi
<source lang="bash">
<source lang="bash">
echo "Lasketaan kymmeneen:"
echo "Lasketaan kymmeneen:"
for luku in $(seq 10)
for luku in $(seq 10)
do
do
  echo $luku
    echo $luku
done
done
</source>
</source>


Läpi käytävä joukko voidaan merkitä myös syntaksilla <tt>{alku..loppu}</tt>. Jos esimerkiksi halutaan käydä läpi kaikki merkit c-o, kokeile vaikka kirjoittaa
Läpi käytävä joukko voidaan merkitä myös syntaksilla <tt>{alku..loppu}</tt>. Jos esimerkiksi halutaan käydä läpi kaikki merkit c-o, kokeile vaikka kirjoittaa
for muuttuja in {c..o}; { echo -n "$muuttuja "; sleep 1;}
<source lang="bash">for muuttuja in {c..o}; { echo -n "$muuttuja "; sleep 1;}</source>


=== While ===
=== While ===

Navigointivalikko