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 $aContinue İ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