IV. AMALIY MASHG'ULOT MATERIALLARI  104




Download 2,99 Mb.
Pdf ko'rish
bet72/81
Sana17.05.2024
Hajmi2,99 Mb.
#240043
1   ...   68   69   70   71   72   73   74   75   ...   81
Bog'liq
4a647e70537b814c832b945c7a7e9036

 


IV. AMALIY MASHG'ULOT MATERIALLARI 
104 
 
Tavsiya qilinadigan adabiyotlar 
1.
A Practical Guide to Fedora and Red Hat Enterprise Linux, fifth edition,
Mark G. Sobell, U.S. Corporate and Government Sales.
 
2.
A-Practical-Guide-to-Linux-Commands-Editors-and-Shell-Programming-
2nd-Edition. 
3.
A Practical Guide to Linux Commands, Editors, and Shell Programming, 
second edition. 
4.
http://opensource.com 
5.
http://distrowatch.com 
6.
http://fedora.com 
7.
http://ubuntu.com 
8.
http://debian.com 
9.
http://www.wikipedia.org 
10.
 
http://www.intuit.ru 


IV. AMALIY MASHG'ULOT MATERIALLARI 
105 
4 – amaliy mashg'ulot. Shell interpretatorida ishlash. 
 
Ishdan maqsad:
shell interpretatoridagi asosiy komandalar bilan tanishish, 
va buyruqlar qobig‘ida skriptlar yozish to‘g‘risida bilim va ko‘nikmalar hosil 
qilish. 
Shell skript – bu operatsion tizim buyruq qobig‘i (shell) uchun 
interpretatsiya qiluvchi dasturdir. Bu dastur matn ko‘rinishida mavjud va 
bajarilishdan oldin alohida kompilyatsiya qilishni talab etmaydi. Kelishuvga ko‘ra 
skriptni birinchi qatori aniq interpretatorning bajarilishi shart bo‘lgan yoriqnomasi 
hisoblanadi. Umuman aytganda, Unix operatsion tizimida skriptlar aynan 
buyruqlar qobig‘ida yozilishi shart emas, balki interpretator qo‘llab-quvvatlovchi 
barcha tilde yozish mumkin (masalan, Perl yoki Python). 
Skriptlar albatta 
#! /bin/sh
bilan boshlanishi kerak. Quyida sodda misol 
keltirilgan. Shell-skript Hello World: 
#! /bin/sh 
echo ―Hello World‖
Agarda bu matnni joriy direktoriyaga hello.sh fayl qilib saqlasak, uni 2 usul 
bilan ishlatish mumkin: 
$ sh hello.sh
– bu holatda sh (aynan shellni) buyrug‘ini ishga tushurib, uni 
argument sifatida script fayl nomini beramiz. 
$chmod +x hello.sh; ./hello.sh
– bu holatda 2 buyruq bajariladi: 
avvalambor skript faylga bajarilishga ruxsat beriladi, keyin faylning o‘zi va
buyruqlar bajarilayotgan buyruqlar qobig‘i ishga tushuriladi, so‘ng fayl boshi 
tahlillanadi. Agar bu kompilyatsiyalangan dastur bo‘lsa, birinchi baytlarida 
kompilyatsiyalangan fayl formatini identifikatsiyalaovchi sehrli raqamni o‘zida 
saqlaydi – bu holda shell boshqaruvni mos formatga to‘g‘ri keluvchi dastur 
yuklovchisiga beradi. Agarda bu skript bo‘lib o‘zida shebang-qatorni(#! simvollari 
bilan boshlanuvchi) saqlasa, unda uning tarkibi quyidagi qatorda ko‘rsatilgan yo‘l 
dasturga beriladi (bu holda: /bin/sh). Aks holda dastur buyruq qobig‘i skript 
hisoblanib, o‘zi tomonidan bajariladi.
Izoh 1: $ - konsolni operatsion tizimga taklifi. Bu buyruqni konsolda 
bajarish lozimligini anglatadi ($ belgisi bo‘lmaganda). 
Izoh 2: Linux muhitida dastur qobig‘i – bash (Bourne Again Shell). 


IV. AMALIY MASHG'ULOT MATERIALLARI 
106 
Kommentariylar # simvoli bilan boshlanadi. O‘zgaruvchilar qiymati 
quyidagicha beriladi: 
Var1=value 
 
Var1 – o‘zgaruvchi, value - o‘zgaruvchi qiymati. Keyinchalik bu 
o‘zgaruvchini $ belgisi bilan ishlatish zarur ($var1). O‘zgaruvchini olishning 
boshqa yo‘llari ham mavjud: 
${var1}text - $var1 o‘zgaruvchini matndan(text) ajratib oladi; 
${var1:=var2} – agarda $var1 o‘zgaruvchi aniqlanmagan bo‘lsa, unda $var2 
qiymat o‘zlashtiriladi; 
${var1:=-var2} – agarda $var1 aniqlanmagan bo‘lsa, unda $var2 qiymat 
chiqariladi($var1 o‘zlashtirilmay qoladi).
Sodda skriptga misol: 
#! /bin/sh 
#script 1 
Var1=text1 
Var2=text2 
echo ${var1}klm # text1klm chiqaradi 
echo ${var1:=$var2}
# text1 chiqaradi 
echo ${var4:=$var2}
# text2 chiqaradi 
echo $ {var4:-$var1}
# text2 chiqaradi
 
sh da foydalaniluvchi ba‘zi o‘zgaruvchilar: 
$$ - joriy shell pid I; 
$! – fon rejimidagi oxirgi jarayon pidi; 
$? – oxirgi jarayon qaytarish kodi; 
$x – x-bu yerda raqam: parameter, skriptga berilgan($0 – oxirgi ishga 
tushurilgan skript). 
Shell-skript Bourne Shell va uning variantlari uchun buyruqlar operatsion 
tizim konsoli buyruqlari bilan bir xil. 
man
buyrug‘i har qanday buyruq uchun 
yo‘riqnoma olish imkonini beradi. 
$ man sh
buyrug‘i Shell sintaksisining o‘zini 
o‘rganishga imkon beradi. Shell ning muhim operatorlariga chiqishni qayta 
yo‘naltirish(>) va kirishni qayta yo‘naltirish(<), yana bir dastur qayta chiqish 
yo‘naltirishini boshqa kirishga yo‘naltiruvchi 
pipe
konveyer(|) kiradi.


IV. AMALIY MASHG'ULOT MATERIALLARI 
107 
Shellda nuqta – bu joriy direktoriya uchun psevdonim hisoblanadi. Boshqa 
psevdonimlarga misol qilib .. – bir sath yuqori direktoriya va ~ - uy direktoriyasini 
keltirish mumkin. Buyruqlar va dasturlar har biri o‘ziga xos ravishda 
interpretatsiyalanuvchi satrli argumentlarni qabul qiladi. Umuman bu argumentlar 
3 xil bo‘lishi mumkin: 
- sodda qiymat (sonlar, satrlar), masalan, 
$ echo ―Hello World‖
da 
―Hello World‖ - bu oddiy satr. 
- yo‘llar, masalan 
$ cat hello.txt hello.txt
– bu joriy direktoriya fayliga yo‘l. 
to‘liq yo‘l quyidagi ko‘rinishida bo‘lishi mumkin: 
/home/user/hello.txt 
Kalit-argumentlar: - yoki -- dan boshlanib, masalan, 
$ wc –l file.txt
buyrug‘i file.txt 
dagi qatorlar sonini hisoblaydi. 
--help
kaliti ko‘pchilik buyruqlar to‘g‘risida 
qisqacha ma‘lumot olishga imkon beradi. 
Sodda script yozish uchun quyidagi ketma-ketlik bajarishimiz lozim: 
1.
Linux buyruqlar qatorida bo‘sh fayl (uni masalan firstscript deb nomlaymiz) 
yaratamiz va uni redaktor orqali ochamiz (vi,emacs,gedit va b.) 
2.
Redaktordan hosil qilingan faylni saqlagan holda chiqamiz 
3.
Skriptimizni bajrilishi uchun quyidagi komandani bajaramiz: 
chmod +x firstscript 
4.
Quyidagi komanda orqali hosil qilingan skriptni ishga tushuramiz:
 
./firstscript 
Skriptda parametrlar quyidagicha beriladi: 
/home/shurup/script1 value1 value2 value3 
value1, value2, value3
– script parametrlari 
Bourne Shellda shartlar ham yaratish mumkin: 
if [shart] 
then bajarilishdagi harakat 
else bajarilimagandagi harakat 
fi 
Foydalanilishga misol:
#! /bin/sh 


IV. AMALIY MASHG'ULOT MATERIALLARI 
108 
#script 3
if [$1 == $2]
then echo ―$1 teng $2‖ 
else echo ―$1 teng emas $2‖ 
fi 
$chmod +x hello.sh;
./hello.sh 
sh da sikl quyidagicha yaratiladi: 
while buyruq1 
do 
harakat1 
done
harakat1 buyruq1 oxirigacha bajarilguncha bajariladi. 
Misol: 
#! /bin/sh 
#script 4 
while : 
do
echo test 
done 
O‘zgaruvchining qiymatiga qarab bajariluvchi harakat o‘zgaruvchi sodda 
dasturga misol: 
#!/bin/sh 
#script 6 
echo "1)startx 2)reboot 3)shutdown 4)halt"
#raqamni tanlash uchun taklif 
read main
 
 
 
 
 
#tanlovni o‘qib olish 
case $main in 
 
 
 
#tanlovga ko‘ra harakatni amalga oshiramiz 
1) startx;; 
2) reboot;; 
3) shutdown now;; 
4) halt;; 
*) echo "error
 
 
 
#1: raqam noto‘g‘ri tanlangan" 


IV. AMALIY MASHG'ULOT MATERIALLARI 
109 
echo "Qayta urinib ko‘ring";; 
#agarda boshqa raqamlar yoki simvollar kiritilganda xatolik xabari 
esac 

Download 2,99 Mb.
1   ...   68   69   70   71   72   73   74   75   ...   81




Download 2,99 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



IV. AMALIY MASHG'ULOT MATERIALLARI  104

Download 2,99 Mb.
Pdf ko'rish