1. Bash-scriptlər nədir?
Əgər heç vaxt belə düşünmüsünüzsə: "Niyə eyni komandaları təkrar-təkrar yerinə yetirməliyəm?", təbrik edirəm, siz bash-scriptlərə hazırsınız! Bash-scriptlər — Linux-da işi avtomatlaşdırmaq üçün komandalar ardıcıllığını bir faylda yazmaq üsuludur. Bash (Bourne Again Shell) — sadəcə bir komanda xətti deyil, həm də adminlər, proqramçılar və sistemin sizin üçün işləməsini istəyən hər kəs üçün bir İsveç bıçağıdır.
Bash-scriptlərin üstünlükləri
- Zamana qənaət: Bir dəfə yazdınız — səkkiz dəfə işlətdiniz.
- Tapşırıqların təkrarlanması: Ssenarilər hər işlətdiyinizdə eyni şəkildə icra olunur (əgər hər şeyi düzgün yazmısınızsa).
- Rutin işlərin avtomatlaşdırılması: Faylların nüsxəsini çıxarmaq, resurs monitorinqi və ya faylları idarə etmək üçün xüsusi komandalar yaradın.
2. Skriptlərin yaradılmasına dair əsaslar
Beləliklə, başlayaq. Bash skript sadəcə komandalar toplusundan ibarət olan mətn faylıdır. Amma Linux-un başa düşməsi üçün ki, bu skriptdir, gündəlik qeydləri deyil, müəyyən qaydalara əməl etmək lazımdır.
Addım 1: Faylın adı və formatı
Bash skriptlər adətən .sh genişlənməsinə malik olur (amma bu zəruri deyil). Məsələn:
hello_world.sh
backup_script.sh
Addım 2: Mütləq lazım olan başlıq
Hər bir bash skript bu sətrdən başlayır:
#!/bin/bash
Bu sətir şebang (shebang) adlanır və sistemə bildirir ki, skripti işlətmək üçün /bin/bash interpreterindən istifadə olunmalıdır. Onsuz sistem sadəcə sizin skriptə baxacaq, dərindən nəfəs alacaq və heç nə etməyəcək.
Addım 3: Ən sadə skript
Gəlin "Salam, dünya!" mətnini ekrana çıxaran skript yaradaq və çalışdıraq. Axı niyə də yox?
Fayl yaradırıq:
nano hello_world.shSətirləri əlavə edirik:
#!/bin/bash echo "Salam, dünya!"Faylı icra edilən hala gətiririk:
chmod +x hello_world.shSkripti işlədirik:
./hello_world.sh
Ekranda bu görsənəcək:
Salam, dünya!
3. Dəyişənlərlə iş
Dəyişənlər — sizin skriptinizdə məlumatların saxlanması üçün istifadə olunur. Onlar skriptləri çevik və rahat edir.
Dəyişənlərin yaradılması
Dəyişəni elan etmək üçün aşağıdaki formata əməl edin:
DƏYİŞƏNİN_ADI="dəyər"
Nümunə:
NAME="Linux"
echo "Xoş gəldiniz, $NAME!"
Nəticə:
Xoş gəldiniz, Linux!
Diqqət: dəyişən adının və = işarəsinin arasına boşluq qoymaq olmaz. Əgər qoysanız, bash sizin qəribə bir şey yazmağa çalışdığınızı düşünəcək və səhv vermiş olacaq.
Daxili dəyişənlər
Bash bir neçə əvvəlcədən təyin olunmuş dəyişən təqdim edir, məsələn:
$USER— cari istifadəçi.$HOME— əsas qovluq.$PWD— cari iş qovluğu.
Belə bir skripti yoxlayın:
#!/bin/bash
echo "Salam, $USER!"
echo "Sənin əsas qovluğun: $HOME"
echo "Hal-hazırda burada işləyirsən: $PWD"
4. İstifadəçidən məlumatların alınması
Bəzən skript işləmək üçün istifadəçidən məlumat almalıdır. Bunun üçün read komandası istifadə olunur.
Nümunə:
#!/bin/bash
echo "Sənin adın nədir?"
read NAME
echo "Salam, $NAME!"
Skripti işə saldıqdan sonra adınızı daxil edə bilərsiniz və skript sizi şəxsən salamlayacaq.
5. Skript daxilində komandaların istifadəsi
Bash sizə komandaları terminalda yazırmış kimi icra etməyə imkan verir.
Məsələn:
#!/bin/bash
echo "Cari tarix və saat:"
date
date komandası cari vaxtı və tarixi göstərəcək, məsələn:
Cari tarix və saat:
Mon Oct 30 12:34:56 UTC 2023
Komanda nəticəsini dəyişəndə saxlamaq
$() ilə komandanın çıxışını dəyişəndə saxlaya bilərsiniz. Bu, məlumatları daha sonra işlətmək üçün əlverişlidir.
Nümunə:
#!/bin/bash
CURRENT_DATE=$(date)
echo "Hal-hazırda: $CURRENT_DATE"
6. Skriptlərdə şərhlər
Həmişə şərhlər əlavə edin ki, bir aydan sonra ümumiyyətlə nə yazdığınızı başa düşəsiniz. Şərhlər üçün # simvolundan istifadə edin:
#!/bin/bash
# Bu, salamlaşma skriptidir
echo "Bash dünyasına xoş gəlmisiniz!"
Şərhlər interpretator tərəfindən nəzərə alınmır və yerinə yetirilməyə təsir etmir.
7. Nümunə
İndi faylın mövcud olub-olmamasını yoxlayan bir skript yazaq.
Fayl yaradırıq:
nano file_checker.shKodu əlavə edirik:
#!/bin/bash # Fayl adını soruşuruq echo "Fayl adını daxil edin:" read FILE_NAME # Faylın mövcud olub-olmamasını yoxlayırıq if [ -f "$FILE_NAME" ]; then echo "Fayl $FILE_NAME mövcuddur." else echo "Fayl $FILE_NAME tapılmadı." fiFaylı icra edilə bilən edirik və işə salırıq:
chmod +x file_checker.sh ./file_checker.shSkriptin iş nümunəsi:
Fayl adını daxil edin: test.txt Fayl test.txt mövcuddur.
8. Tipik səhvlər
Bash skriptlərlə iş yalnız sevinc gətirmir, həm də bəzən ciddi baş sındırmaq tələb edir. Budur bir neçə yayılmış səhvlər:
Shebang yazılmayıb.
#!/bin/bashsətri olmadan skriptiniz başqa bir interpreterdə icra edilməyə çalışa bilər, bu da səhvlərə səbəb olacaq.Elan edilməmiş dəyişənlər.
Əgər təsadüfən dəyişənin adında səhv etsəniz, bash onu boş kimi qəbul edəcək. Skriptin əvvəlindəset -uistifadə edərək sərt yoxlama rejimini aktivləşdirin.=ətrafındakı boşluqlar.
Heç vaxt belə yazmayın:VARIABLE = "value". Bu, səhvlərə səbəb olacaq.İcazə problemləri.
Əgər skript icra etmək üçün icazəyə malik deyilsə, bunuchmod +xvasitəsilə əlavə edin.
Praktik tapşırıq
Aşağıdakıları edən skript yazın:
- İstifadəçidən ad soruşur.
- Xoş sözlə qarşılayır.
- Hazırkı tarixi və saatı göstərir.
Aşağıdakıları edən skript yazın:
- İstifadəçidən faylın adını soruşur.
- Əgər fayl mövcud deyilsə, onu yaradır, əks halda faylın artıq mövcud olduğunu bildirir.
İndi siz bash skriptlərin əsaslarını bilirsiniz! Şərtlər və dövrlər əlavə etməyi öyrənmək qalır, amma bu artıq növbəti mühazirənin mövzusudur. Dünya avtomatlaşdırmasına doğru irəliləyin!
GO TO FULL VERSION