13
Agar keltirilgan misolda PERM o‘zgaruvchisiga (3-satr) belgili,
masalan
test qiymati berilsa, dastur natijasi echo (4-satr) ekranga 0
qiymatini chiqaradi.
1.9-§. IF shartli operatori
If operatorida shart tekshirilib, dastur kodi son qaytaradi. Agar
dastur
kodi muvaffaqiyatli bajarilsa, u nol qiymatni qaytaradi. Agar
dastur bajarilishida xatolik bo‘lsa, noldan farq qiluvchi sonni
qaytaradi.
Xuddi shunday shell script-da nol rost qiymat, agar nol bo‘lmasa
yolg‘on qiymat sifatida baholanadi.
if operatori hamma vaqt fi operatori bilan tugallanishi kerak.
Agar tekshiralayotgan shart rost bo‘lsa, then va fi so‘zlari
orasidagi operatorlar ketma-ketligi bajariladi.
Else operatori shart yolg‘on bo‘lganda
bajariladigan operatorlar
ketma-ketligini qo‘llash uchun foydalaniladi. Quyida shartli operator
qo‘llanilgan dasturga misol keltirilgan:
1 #!/bin/bash
2 # if then else ga misol
3 if rm test>2 /dev/null
4 then
5 echo “Deleted”
6 else
7 echo “Not deleted”
8 fi
3-satrda rm dasturining kodini tekshirish berilgan. Bu yerda rm
dasturining yuklanishida beriladigan barcha tavsiflar keltirilgan. Agar
dastur test faylini o‘chira olsa, bu kod qaytaradigan qiymat nolga teng
bo‘ladi. Agar qaysidir sabablarga ko‘ra o‘chira olmasa,
noldan farqli
kodga qaytadi. Buning uchun xatolik bo‘yicha xabar chiqarilmaydi,
xatolikni standart chiqarish /dev/null ga yo‘naltirilgan.
Kodda nolni qaytarish 5-satrda bajariladi. Noldan farqli qiymatni
qaytarish – 7-satrda bajariladi.
Agar if operatorida shart sifatida
kvadrat qavs ichidagi ifoda
qo‘llanilsa, bu shartga ruxsat berish uchun test dasturi chaqiriladi. If
qaytarish dasturi test ning kodini tekshiradi.
Quyidagi dastur ham oldingi misolda berilgan vazifani bajaradi,
14
lekin faylning mavjudligi haqidagi shartni tekshirish uchun test
dasturini chaqiradi (3-satrdagi shart).