Hurriyet

21 Kasım 2013 Perşembe

Linux / Unix: Shell Scripting For Loops - For Döngüleri


Bu yazımızda daha önceden bahsettiğimiz While döngülerine ve If/Else koşullarına ek olarak For döngülerini işleyeceğiz.

For döngülerinde belirli bir işin sınırlı bir sayıda tekrar edilmesi sağlanır.  Temel syntax aşağıdaki gibidir.

 for degisken in {1..N}  
 do  
      komut  
 done  

1'den 10'a yazdıran örnek aşağıdaki gibidir.

for x in {1..10}  
  do  
   echo $x  
  done  


Peki döngümüze bir artış miktarı koymamız için ne yapmamız gerekir? Bunun için son bash versiyonuna ihtiyacımız lazım. Yani ${BASH_VERSION} parametresi v4.0+ olmalıdır.

 for x in {1..10..2}  
  do  
   echo $x  
  done  

Bu for örneğimizde  ise bir klasöre yazdırdığımız dosya adlarını terminale  bastırırız. Örnekte asıl vurgulamak istediğimiz şey " ` " işaretinin kullanımıdır. Ayrıca bir dosya içerisindeki verilerin alınıp satır satır incelenmesidir.

 ls > abc.log  
 for x in `cat abc.log`  
 do  
 echo "Bu dosyanin adi:" $x  
 done  


Bu durumda abc.log adlı dosyamızın adı :

 >more abc.log   
 Mail  
 a.sh  
 abc.html  
 abc.log  
 adstats.sql  
 awrrpt.html  
 control_scripts  
 core  
 oradiag_oracle  
 profile.11g.db  
 smit.log  
 smit.script  
 smit.transaction  
 tdpoerror.log  

Hiç yorum yok:

Yorum Gönder