Bash sikllari


ULASHISH

Bashda sikllardan foydalanish

Ushbu bo‘limda Bash skriptlarida sikllardan, jumladan for, while va until sikllaridan foydalanish ko‘rib chiqiladi.


For sikllari

For sikllari elementlar ro‘yxati yoki sonlar oralig‘i bo‘ylab iteratsiya qilish imkonini beradi. Ular vazifalarni ma’lum marta takrorlash uchun foydali.

for kalit so‘zidan keyin o‘zgaruvchi nomi, qiymatlar oralig‘i va sikl bloki boshlanishini bildiruvchi do kalit so‘zi keladi.

Misol: for sikli

# For loop example
for i in {1..5}; do
  echo "Iteration $i"
done

While sikllari

While sikllari belgilangan shart rost bo‘lib turgan vaqt davomida kod blokini bajaradi.

Ular ma’lum bir shart o‘zgarguncha takrorlanishi kerak bo‘lgan vazifalar uchun foydali.

Shart kvadrat qavslar [ ] ichiga olinadi, sikl esa done bilan tugaydi.

Misol: while sikli

# While loop example
count=1
while [ $count -le 5 ]; do
  echo "Count is $count"
  ((count++))
done


Until sikllari

Until sikllari while sikllariga o‘xshaydi, ammo ular belgilangan shart rost bo‘lguncha bajariladi.

Shart kvadrat qavslar [ ] ichiga olinadi, sikl esa done bilan tugaydi.

Misol: until sikli

# Until loop example
count=1
until [ $count -gt 5 ]; do
  echo "Count is $count"
  ((count++))
done

Break va continue

Break va continue operatorlari siklning bajarilishini boshqarish uchun ishlatiladi. break sikldan chiqadi, continue esa keyingi iteratsiyaga o‘tadi.

Bu operatorlar odatda sikl oqimini o‘zgartirish uchun shart bloklari ichida ishlatiladi.

Misol: break va continue

# Break and continue example
for i in {1..5}; do
  if [ $i -eq 3 ]; then
    continue
  fi
  echo "Number $i"
  if [ $i -eq 4 ]; then
    break
  fi
done

Ichma-ich joylashgan sikllar

Ichma-ich joylashgan sikllar bitta siklni boshqasining ichiga joylashtirish imkonini beradi, bu esa murakkabroq iteratsiya usullarini qo‘llashga yordam beradi.

Har bir sikl o‘zining done kalit so‘zi bilan yopilishi kerak.

Misol: ichma-ich joylashgan sikllar

# Nested loops example
for i in {1..3}; do
  for j in {1..2}; do
    echo "Outer loop $i, Inner loop $j"
  done
done


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!