Ana içeriğe atla

Bash Script sadə əmrlər və sintaksis



 Bash (Bourne Again Shell) - Unix üçün yazılmış shelldir. 1988-ci ildə Brian Fox tərəfindən yazılmağa başlamış və 1989-cu ildə beta versiya buraxılmışdır. Hal-hazırda Linux və Mac OS X əməliyyat sistemlərində susmaya görə istifadə edilən shelldir. Bash istifadəçi tərəfindən mətn şəklində verilən komandaları emal edir. Bash ilə shell skriptlər də yazmaq mümkündür.

Bu məqalədə sadə Bash skriptlər haqqında nümunələr paylaşacam:

Dəyişən

Mövcud olan hər bir proqramlaşdırma dilində dəyişənlər anlayışı mövcuddur - dəyərləri təyin edə, oxuya və idarə edə biləcəyimiz bir yaddaş üçün simvolik bir ad. Bash-dada bu istifadə edilir.

Qeyd edək ki, "=" işarəsi ətrafında boşluq olmamalıdır: VAR=dəyər işləyir; VAR = dəyər işləmir. Birinci halda, shell "=" simvolunu görür və əmrə dəyişən kimi baxır.

#!/bin/sh
MY_MESSAGE="Hello World"
echo $MY_MESSAGE
Bash

Shell dəyişənlərin növlərinə əhəmiyyət vermir; mətn, tam ədədləri, həqiqi ədədləri - istədiyiniz hər şeyi saxlaya bilərsiniz.

MY_MESSAGE="Hello World"
MY_SHORT_MESSAGE=hi
MY_NUMBER=1
MY_PI=3.142
MY_OTHER_PI="3.142"
MY_MIXED=123abc
Bash
Təkrarlanan əməliyyatlar Loops

Əksər dillərdə loop anlayışı var: əgər bir tapşırığı iyirmi dəfə təkrarlamaq istəyiriksə, hər dəfə bir az dəyişikliyə uğrayaraq iyirmi dəfə kodu daxil etmək istəmirik. Nəticə etibarilə Bourne shelində looplarda mövcuddur.

For Loops

Siyahı tükənənə qədər "for" dəyərlər dəsti ilə təkrarlanır:

#!/bin/sh
for i in 1 2 3 4 5
do
  echo "Looping ... number $i"
done
Bash

Nəticəsi:

Looping .... number 1
Looping .... number 2
Looping .... number 3
Looping .... number 4
Looping .... number 5
Bash
While Loops
#!/bin/sh
INPUT_STRING=hello
while [ "$INPUT_STRING" != "bye" ]
do
  echo "Please type something in (bye to quit)"
  read INPUT_STRING
  echo "You typed: $INPUT_STRING"
done
Bash

Burada nə yazılırsa yazılsın, "echo" və "read" ifadələri "bye" yazılayana qədər müddətsiz olaraq işləyəcəkdir.

Bu blogdaki popüler yayınlar

Zərərli Proqram Təminatları (Malware-lər)

  Zərərli Proqram Təminatları   ( Mal icious Soft ware s/ Malware) Viruslar Öz-özünü kopyalaya bilən və yayılaraq sistemi dəyişdirə bilər proqram təminatlarıdır. Yəni hər malware virus deyil. Başladılmağa ehtiyacları var ; Bu başlatmaq o demək deyil ki, yalnız qurban tərəfindən olsun, hansısa proqram təminatı tərəfindəndə ola bilər. Başladılana qədər səssiz gözləyirlər. Virus növü Funksiyası Boot                            Əməliyyat sisteminin açılışında işləyərək özünü yükləyir. Web Scripting Veb saytları və brauzerindəki boşluqları istismar edir. Hijacker                                   ...

Kiber Təhlükəsizlik nədir? Nə deyildir?

  KİBER TƏHLÜKƏSİZLİK   Kiber Təhlükəsizlik nədir? Nə deyildir?   Kiber Təhlükəsizlik nədir?   İnformasiya   və informasiya bazalarının hansısa informasiyaya zərər vermə fəaliyyətlərinə qarşı qorunmasıdır. Bu zərər vermə fəaliyyətlərinə hər şey aiddir: informasiya itirmək, icazəsiz giriş, oğurluq və s. hər şey ola bilər. İnformasiya çox geniş olduğu üçün hamıya aid olur. Şəxsi, Şirkətlər, Dövlətlər üçün   ·        Şəxsi üçün: Təhlükəsiz hiss etmək, şəxsi məlumatları qorumaq və gizliliyi təmin etmək üçün ·        Təşkilat və şirkətlər üçün: Kritik sistemlərin iş davamiyyətini təmin etmək və məlumat sızmasının qarşısını almaq ·        Dövlətlər üçün: Vətəndaş, təşkilat və dövlət sistemlərinin kiber hədəqorxulara qarşı qorunması, məlumatların pozulmasının qarşısının alınması Gizlilik + Bütövlük + Əlyetənlik = Kiber Təhlükəsizlik   Kiber ...

Reverse Shell nədir? Necə edilir?

​ Qurbanın kompüterində işə salındıqda hackerin dinlədiyi porta qoşulma sorğusu göndərən və hackerin () qurbanın kompüterində əmrləri yerinə yetirməsinə imkan verən skriptlərə reverse shell əmrləri deyilir. Pentest   zamanı əmrlərin icrası ilə bağlı zəifliyi tapmaq şansınız varsa, çox güman ki, qısa müddət sonra shell istifadə edərək sistemə giriş əldə edəcəksiniz. Yeni hesab / SSH açarı / .rhosts faylı əlavə etmək mümkün deyilsə, növbəti addımınız reverse shell istifadə etmək və ya qabığı TCP portuna qoşmaq olacaq. Firewalllar portlara nəzarət edə bilər. Məsələn, xarici şəbəkədən DMZ şəbəkəsinə gələrkən 80 və 443 nömrəli portlara, daxili şəbəkəni xarici şəbəkəyə buraxarkən 53, 80 və 443 nömrəli portlara icazə verilir. Xarici şəbəkədən daxili şəbəkəyə gələn bütün sorğular bloklansın bu halda  daxili şəbəkədən xarici şəbəkəyə sorğuların keçməsinə imkan verən portlardan birindən xarici şəbəkəyə qoşulma həyata keçirilərsə, firewall bu IP ünvanını bloklamayacaq və ondan sorğular...