while [ koşul ]
do
komutlar
done
Burada sonsuz döngü oluşması için içerideki koşulun asla yanlış hale gelmemesi gerekir. İçerideki koşul herhangi bir boolean ifade yani doğru veya yanlış bir ifade olabilir.
Buradaki örnekte 1'den 5'e kadar sayıları yazdırırız.:
#!/bin/bash
x=1
while [ $x -le 5 ]
do
echo " $x "
x=$(( $x + 1 ))
done
Aşağıdaki örneğimizde de faktoriyel hesabı yaptırmaktayız. Bu örnekte sayac'ımızı dışardan vermekteyiz. Yani bu programı "abc.sh" olarak kaydedip "chmod 777 abc.sh" olarak yetkilerini verdikten sonra "./abc.sh 5" şeklinde çalıştırdığımızda bize 5 faktoriyelin cevabını verir.
#!/bin/bash
x=$1 #Sayac
a=1
echo $x;
while [ $x -gt 0 ]
do
a=$(( $a * $x ))
x=$(( $x - 1 ))
done
echo $a
Continue İfadesi:
While döngülerinde continue ifadesi bir sonraki iterasyona geçmek için kullanılır. Yani örnek olarak sayacımız 10'dan geriye sayarken 5'te atlamasını istiyorsak, 5 bizim için istisna bir değerse, if deyip değerimiz 5'e geldiğinde atlamasını isteyebiliriz.
Continue syntax'ı aşağıdaki gibidir.
while [ koşul ]
do
ifadeler
if (koşul) #Örnek olarak x=5 ise
then
continue
fi
ifadeler
done
Break İfadesi:
Break ifadesi bizi direk döngüden çıkaran bir ifadedir. Yani yukarıdaki örneğimizdeki döngüde "continue" bizi bir iterasyon sonrasına gönderirken, break ile döngüyü tamamen kırabiliriz. Bu şekilde örneğin while döngümüzün de sonsuz olmasını engelleyebilir, kendimize bir çıkış yolu yaratabiliriz.
while [ koşul ]
do
ifadeler
if (koşul) #Örnek olarak x=5 ise
then
break
fi
ifadeler
done
Hiç yorum yok:
Yorum Gönder