CodeGym /Kurslar /Docker SELF /Bash skriptlərinə giriş: sintaksis, dəyişənlər, komandala...

Bash skriptlərinə giriş: sintaksis, dəyişənlər, komandalar

Docker SELF
Səviyyə , Dərs
Mövcuddur

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?

  1. Fayl yaradırıq:

    nano hello_world.sh
    
  2. Sətirləri əlavə edirik:

    #!/bin/bash
    echo "Salam, dünya!"
  3. Faylı icra edilən hala gətiririk:

    chmod +x hello_world.sh
    
  4. Skripti 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.

  1. Fayl yaradırıq:

    nano file_checker.sh
    
  2. Kodu ə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ı."
    fi
  3. Faylı icra edilə bilən edirik və işə salırıq:

    chmod +x file_checker.sh
    ./file_checker.sh
    
  4. Skriptin 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:

  1. Shebang yazılmayıb.
    #!/bin/bash sətri olmadan skriptiniz başqa bir interpreterdə icra edilməyə çalışa bilər, bu da səhvlərə səbəb olacaq.

  2. 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 -u istifadə edərək sərt yoxlama rejimini aktivləşdirin.

  3. = ətrafındakı boşluqlar.
    Heç vaxt belə yazmayın: VARIABLE = "value". Bu, səhvlərə səbəb olacaq.

  4. İcazə problemləri.
    Əgər skript icra etmək üçün icazəyə malik deyilsə, bunu chmod +x vasitəsilə əlavə edin.

Praktik tapşırıq

  1. 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.
  2. 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!

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION