if-elif-else ile Karşılaştırma
Temel kullanım aşağıdaki gibidir. Köşeli parantez (“[” ve “]”) karakterlerinden önce boşluk olmalıdır.
if [ linux komutu ]
then
komutlar …
elif [ linux komutu ]
then
komutlar
else komutlar
fi
İf – elif – else Örnek0 ile 20 arasında girilen bir sayının çift veya tek olduğunun belirleyen algoritmanın Bash Kabuğu komutları ile kodlayınız. (20 den büyükse uyarı ver.) echo “0 ile 20 arasinda bir sayi secin”
read sayi
if [ $sayi -lt 10 ]
then
echo “Secilen sayi tek basamakli”
elif [ $sayi -gt 10 -a $sayi -lt 20 ]
then
echo “Secilen sayi cift basamakli”
else
echo “Secilen sayi 20’den büyük”
fi
|
case-esac ile Karşılaştırma
if-elif-else yapısındaki gibi karşılaştırma işlemleri gerçekleştirilebilir.
case $Sayi in
1)
echo “Bir” ;;
2)
echo “İki” ;;
[3-5]*)
echo “Üç Dört veya Beş” ;;
*)
echo “Bilinmiyor” ;;
esac
Case-esac yapısı ile kelimeler için de karşılaştırma gerçekleştirilebilir.
case $Kelime in
Kirmizi)
echo “Dur…”
Sari)
echo “Hazir Ol…”
Yesil)
echo “Geç…”
esac
Döngü Yapıları
for Döngüsü
for döngüsü temel olarak bir kod bloğunu belirli bir sayıda ve üst üste çalıştırmak için kullanılır. for deyimi ve for deyimi kullanılarak oluşturulacak döngü yapısı, işlemlerin tekrar sayısının önceden belli olduğu durumlarda kullanılır.
for degisken1 in deger1 deger2 … degerX
do
komutlar
done
1) Döngüler sayıları birer birer arttırmak için kullanılabilir.
for sayac in ‘1 2 3 4 5 6’
do
echo 1 192.168.2.$sayac
done
Yöntem – 2: for (( sayac=1; sayac <=255; sayac++ ))
Yöntem – 3: for sayac in {1..255}
2) for dögüsü döngüde sayıları n’er n’er arttırmak için kullanılabilir.(n=arttırma miktarı)
for sayac in {1..255..n}
3) for döngüsü ile döngülerde çoklu kontrol yapmak mümkün.
for ((a=1, b=1; a <= $UST_SINIR ; a++, b++))
4) for döngüsü ile bir dosya içerisinde dolaşılabilir.
for satir in ‘cat $DOSYA’
5) “for” kullanıldığında liste içerisindeki ifadeler yeni satıra göre değil, boşluk karakterine göre ele alınır.
cumle=’Ali ata bak’
for kelime in $cumle
Not: Eğer satır satır ele alınmak isteniyorsa “while” kullanılmalıdır.
For ile dizi içerisinde dolaşılabilir.
for meyve in “elma” “armut” “portakal” “muz” “cekirdeksiz uzum” “incir”
Sonsuz döngü oluşturulabilir.
for (( ; ; ))
Her dosyanın içerisindeki uygun değer ekrana bastırılabilir.
for dosya in `cat $DOSYALAR`
Not: Döngüden çıkmak için “break” komutu kullanılır. Mevcut iterasyondan çıkıp, sonraki iterasyona devam etmek için ise “continue” komutu kullanılır.
while Döngüsü
While döngüleri belirli bir şart sağlanana dek devam eder. While döngüsünün Bash Kabuğundaki kullanımı aşağıdaki gibidir.
while [ koşul ]
do
işlemler
done
Örneğin üst sayaç 10’dan küçük olduğu sürece ekrana sayaç değişkeninin bir sonraki değerini yazdıran programın Bash Kabuğu kod yapısı ile kodlanmış hali aşağıdaki gibidir.
sayac=0
UST_LIMIT=10
while [ “$sayac” -lt “$UST_LIMIT” ]
do
sayac=$(($sayac + 1))
echo $sayac
done
while döngüsü ile dosya içerisinde satır satır dolaşılabilir.
cat $Dosya | while read -r satir
do
echo $satir
done
Not: Dosya içerisindeki ifadeler satır satır ele alınır. boşluk karakterine göre ele alınmak isteniyorsa “for” kullanılmalıdır.
Sonsuz döngü oluşturulabilir.
while [ true ] # Sonsuz döngü
while [ 1 ] # Sonsuz döngü
Döngüyü belirten kısım (yani “while [ ŞART ]” şeklindeki ifadeler) aşağıdaki gibi belli bir değere ulaşana dek de beklenebilir.
while [ “$kelime” != “son” ]
while (( $sayac <= $UST_SINIR ))
Not: Döngüden çıkmak için “break” komutu kullanılır. Mevcut iterasyondan çıkıp, sonraki iterasyona devam etmek için ise “continue” komutu kullanılır.
Bir yanıt yazın