1-2
11.1 Cheksiz sikl (Infinite Loop)
Cheksiz sikl – shart hech qachon noto‘g‘ri (false
) bo‘lmagan va to‘xtovsiz davom etadigan sikl turidir. Bunday sikllar shartli yoki shartsiz tarzda tuzilishi mumkin. Ular odatda ma'lum bir voqea yoki foydalanuvchining aralashuvisidan keyin to‘xtaydi yoki maxsus operatorlar (masalan, break
) orqali to‘xtatiladi. Bash skriptlarida cheksiz sikl yaratish uchun while true
yoki for
kabi konstruktsiyalar ishlatiladi.
Cheksiz sikl misollari:
while
bilan cheksiz sikl:
Tushuntirish:
while true
– Shart doimtrue
bo‘lib turganligi sababli sikl to‘xtovsiz ishlaydi.sleep 1
– Har bir iteratsiyadan keyin 1 soniya kutadi, bu CPU yukini kamaytiradi.Bunday siklni foydalanuvchi odatda
Ctrl + C
tugmasi orqali to‘xtatadi.
for
bilan cheksiz sikl:
Tushuntirish:
for (( ;; ))
– C-uslubdagifor
sikli uchun hech qanday shart va to‘xtatish qoidalari ko‘rsatilmaganligi sababli, u cheksiz davom etadi.Bu usul ham CPUni yuklaydi va
Ctrl + C
orqali to‘xtatilishi mumkin.
Cheksiz sikldan foydalanish amaliyoti:
Cheksiz sikllar quyidagi holatlarda qo‘llanilishi mumkin:
Server dasturlari yoki xizmatlari doimiy ravishda ishlashi kerak bo‘lganda.
Foydalanuvchi inputini qayta-qayta tekshirish kerak bo‘lgan interaktiv dasturlarda.
Ma'lum vaqtda muayyan vazifalarni bajaruvchi avtomatlashtirilgan jarayonlarda.
Siklni to‘xtatish:
Cheksiz siklni ichki shart orqali to‘xtatish uchun break
operatori ishlatiladi.
Misol:
Natija:
Foydalanuvchi
"exit"
yozsa, sikl to‘xtatiladi.Boshqa har qanday ma'lumot kiritilsa, sikl davom etadi va kiritilgan ma'lumot ekranga chiqariladi.
11.2 Funksiyadan qaytish (Function Return)
Bashda funksiya – bu ma'lum bir vazifani bajaruvchi kod blokidir. Funksiya tugagandan so‘ng, u return
operatori orqali qiymat qaytarishi yoki bevosita echo
orqali natijani ekranga chiqarishi mumkin. return
operatori funksiya tugagandan so‘ng, dastur oqimiga qaytish kodi (exit code) yuboradi.
Sintaksis:
return
– Funksiyani tugatib, chiqish kodini qaytaradi.exit_code
– 0 muvaffaqiyatli bajarilganligini, boshqa kodlar esa xatolik yoki boshqa holatlarni bildiradi.
Oddiy misol:
Tushuntirish:
my_function
– Funksiya nomi.echo "Bu funksiya bajarildi."
– Funksiya ichida buyruqni bajaradi va ekranga xabar chiqaradi.return 0
– Funksiya muvaffaqiyatli bajarilganligini bildiradi (0
– muvaffaqiyat kodi).$?
– Oxirgi bajarilgan funksiyaning yoki buyrug‘ning chiqish kodini ko‘rsatadi.
Xato kod bilan qaytish:
Tushuntirish:
return 1
– Funksiya xato kodi bilan tugaydi (1
– muvaffaqiyatsiz kod).if [[ $? -ne 0 ]]
– Agar funksiya muvaffaqiyatli bajarilmagan bo‘lsa (kod0
ga teng emas), xabar chiqariladi.
Parametrli funksiya:
Funksiyalar parametrlarni qabul qilishi mumkin.
Tushuntirish:
add_numbers
– Funksiya nomi.$1
,$2
– Funksiyaga uzatilgan birinchi va ikkinchi parametrlar.local sum=$(( $1 + $2 ))
– Mahalliy o‘zgaruvchi yaratilib, ikki parametr yig‘indisi saqlanadi.echo "Natija: $sum"
– Yig‘indi ekranga chiqariladi.
Natija:
Rekursiv funksiya (o‘zini-o‘zi chaqiruvchi):
Tushuntirish:
Funksiya o‘zini-o‘zi chaqirib, rekursiv hisoblashni amalga oshiradi.
factorial
funksiya raqamning faktorialini qaytaradi.
Xulosa:
Cheksiz sikl – shart noto‘g‘ri bo‘lmaguncha to‘xtovsiz ishlaydigan sikldir.
Funksiyadan qaytish – funksiya bajarilganidan so‘ng chiqish kodini yoki natijani qaytaradi.
Funksiyalar dastur logikasini soddalashtirish va kodni qayta ishlatish imkoniyatini beradi.
Last updated