1-2
10.1. Buyruqlar ro‘yxatini shartli bajarish (Conditional Execution of Command Lists)
Bash scriptingda buyruqlarni ma'lum bir shart asosida shartli ravishda bajarish uchun &&
va ||
operatorlari ishlatiladi. Ushbu operatorlar yordamida buyruqlar faqat avvalgi buyruqning bajarilish natijasiga qarab ishga tushadi.
Asosiy operatorlar:
&&
(AND operatori):Birinchi buyruq muvaffaqiyatli bajarilganda (
exit code
= 0), keyingi buyruq ishga tushadi.Agar birinchi buyruq muvaffaqiyatsiz bo‘lsa, keyingi buyruq ishlamaydi.
Sintaksis:
Misol:
Agar
cd my_directory
muvaffaqiyatli bajarilsa,echo
komandasi ishga tushadi va xabar chiqariladi.
||
(OR operatori):Birinchi buyruq muvaffaqiyatsiz bajarilganda (
exit code
≠ 0), keyingi buyruq ishga tushadi.Agar birinchi buyruq muvaffaqiyatli bajarilsa, keyingi buyruq ishlamaydi.
Sintaksis:
Misol:
Agar
cd my_directory
muvaffaqiyatli bajarilmasa,echo
komandasi ishga tushadi va xabar chiqariladi.
Zanjirli shartli boshqaruv: Bir nechta shartli operatorlarni birlashtirish mumkin. Operatorlar chapdan o‘ngga tartibda bajariladi.
Misol:
Agar
cd
muvaffaqiyatli bajarilsa,pwd
komandasi bajariladi va joriy katalog yo‘li chiqariladi.Agar
cd
muvaffaqiyatsiz bajarilsa,echo
komandasi ishga tushadi va xabar chiqariladi.
Nima uchun shartli bajarish ishlatiladi?
Tezlik: Shartli boshqaruv
if
blokidan tezroq ishlaydi.Kodni soddalashtirish: Bir qatorda bir nechta buyruqlarni shart asosida zanjirli boshqarish imkoniyatini beradi.
Qisqa bloklar: Funksiyalar yoki skriptlarni tezroq tugatish va ortiqcha kodni ishlatmaslik imkonini beradi.
10.2. if
operatori (If Statement)
if
operatori (If Statement)if
operatori shartlarni tekshirish va ularga mos ravishda buyruqlarni bajarish uchun ishlatiladi. Agar shart to‘g‘ri (true) bo‘lsa, if
bloki ichidagi buyruqlar bajariladi.
Sintaksis:
if [[ shart ]]
– Shartni tekshiradi. Agar shart to‘g‘ri bo‘lsa,then
qismidagi buyruqlar bajariladi.elif [[ boshqa_shart ]]
– Qo‘shimcha shartni tekshiradi. Birinchi shart bajarilmagan bo‘lsa va qo‘shimcha shart to‘g‘ri bo‘lsa,elif
qismidagi buyruqlar bajariladi.else
– Hech qanday shart bajarilmaganda,else
qismidagi buyruqlar bajariladi.fi
–if
blokini yopuvchi buyruq.
Misol:
Tushuntirish:
read -p
– Foydalanuvchidan raqam kiritishni so‘raydi va uninumber
o‘zgaruvchisiga saqlaydi.[[ $number -eq 1 ]]
– Raqam 1 ga tengligini tekshiradi.[[ $number -gt 2 ]]
– Raqam 2 dan katta ekanligini tekshiradi.echo
– Shart bajarilsa, tegishli xabarni ekranga chiqaradi.fi
–if
blokining oxiri.
Buyruqlarni tekshirish orqali if
ishlatish:
Bashda shart sifatida boshqa buyruqlar natijasi ham ishlatilishi mumkin. Agar buyruq muvaffaqiyatli bajarilsa, shart to‘g‘ri hisoblanadi.
Misol:
Tushuntirish:
grep "foo" bar.txt
–bar.txt
faylida"foo"
matnini qidiradi.Agar
grep
matnni topsa, shart muvaffaqiyatli bajariladi (exit code = 0
), vaecho "Matn topildi"
komandasi ishga tushadi.Agar matn topilmasa,
echo "Matn topilmadi"
komandasi bajariladi.
Matematik ifoda bilan:
Tushuntirish:
(( ... ))
– Matematik ifoda. Raqamlar bilan ishlash uchun qulay usul.Agar ifoda natijasi
true
bo‘lsa (exit code = 0),then
qismidagi buyruqlar bajariladi.
Bir satrda if
ishlatish:
Tushuntirish:
-d "/home/user"
–"/home/user"
katalogining mavjudligini tekshiradi.Agar katalog mavjud bo‘lsa,
echo
komandasi bajariladi.
Xulosa:
Buyruqlar ro‘yxatini shartli bajarish (
&&
,||
) – buyruqlarni bir necha shart asosida zanjirli boshqarish imkonini beradi.if
operatori – murakkab shartlarni boshqarish va har xil holatlar uchun mos kodni bajarish imkoniyatini taqdim etadi.
Last updated