Bash Döngüleri

Bash Döngüler

2012/03/01 sadikkilic Bash ScriptingLinux0

  • iterasyon yapıları nasıl kullanılır?
  • Sonsuz döngü (infinite loop) nasıl kurulur?
  • Döngü ile dosya satır satır nasıl okunur?

Bu sorulara cevap olabilecek ve sıklıkla ihtiyaç duyulan döngüleri burada basit kullanımlarıyla ve örnekleriyle listelemek istedim. Bash üzerinde duruma ve ihtiyaca göre döngüler çeşitli şekillerde yazılılabilir. Döngülerin basit kullanımları için örnekleri inceleyiniz

  • Klasik for döngüsü
  • LIMIT=5
  • for ((i=1; i <= LIMIT ; i++)) do
  • echo -n “i=$i ”
  • done
  • i=1 i=2 i=3 i=4 i=5
  • Klasik while döngüsü
  • i=0
  • while [ $i -lt 4 ] do
  • echo -n “i=$i ” i=$[$i+1]
  • done
  • i=0 i=1 i=2 i=3
  • Belirli bir sayı aralığını saymak
  • for i in {0..5} do
  • echo -n “i=$i ”
  • done
  • i=0 i=1 i=2 i=3 i=4 i=5
  • Belirli sayı aralığını atlayarak saymak
  • for i in {0..10..2} do
  • echo -n “i=$i ”
  • done
  • i=0 i=2 i=4 i=6 i=8 i=10
  • Burada {a..b..c} formatıyla belirtilen kısım sayesinde a’dan b’ye kadar c kadar atlayarak döngü devam ediyor.
  • Belirli bir diziyi döngüde kullanmak
  • for i in {aa,ab,ba,bb} do
  • echo -n “i=$i ”
  • done
  • i=aa i=ab i=ba i=bb
  • Sabit ve degisken parçalara sahip diziyi döngüde kullanmak
  • for i in a{0..5}b do
  • echo -n “i=$i ”
  • done
  • i=a0b i=a1b i=a2b i=a3b i=a4b i=a5b
  • seq kullanarak saymak
  • for i in $(seq 0 5) do
  • echo -n “i=$i ”
  • done
  • i=0 i=1 i=2 i=3 i=4 i=5
  • seq ile atlayarak saymak
  • for i in $(seq 0 2 10) do
  • echo -n “i=$i ”
  • done
  • i=0 i=2 i=4 i=6 i=8 i=10
  • Yine yukarda bahsedilen kullanıma benzer şekilde {a..b..c} formatıyla belirtilen kısım sayesinde a’dan b’ye kadar c kadar atlayarak döngü devam ediyor.
  • for (( ; ; )) do echo “Sonsuz döngü (Durdurmak icin CTRL+C )” sleep 1 done Sonsuz döngü (Durdurmak icin CTRL+C ) Sonsuz döngü (Durdurmak icin CTRL+C ) Sonsuz döngü (Durdurmak icin CTRL+C ) Sonsuz döngü (Durdurmak icin CTRL+C ) ^C
  • while true do echo “Sonsuz döngü (Durdurmak icin CTRL+C kullanın)” sleep 1 done Sonsuz döngü (Durdurmak icin CTRL+C kullanın) Sonsuz döngü (Durdurmak icin CTRL+C kullanın) Sonsuz döngü (Durdurmak icin CTRL+C kullanın) Sonsuz döngü (Durdurmak icin CTRL+C kullanın) ^C
  • Belirli bir dizindeki php dosyalarının satır sayılarını öğrenmek istesek;for file in /tmp/sadik/*.php do wc -l $file done 73 /tmp/sadik/cmc_db_config.inc.php 55 /tmp/sadik/cmc_db_execute.inc.php 85 /tmp/sadik/cmc_db_recordset.inc.php 67 /tmp/sadik/example.php

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.