Salam hər vaxtınız xeyir dəyərli oxucular bugün Bash Dili Seriyasında Bash dilində şərtlər haqqında məlumat əldə edəcəyik.Şərtlərin tətbiqini praktiki olaraq skript üzərində yerinə yetirəcəyik.
Şərt kommandaları
Əgər siz bu paylaşıma kimi Bash Dili Seriyasını izləyərək, oxuyaraq və tətbiq etmisinizsə deyə bilərikki siz artıq siz Bash dilinin əsas hissələrini öyrənmisiniz.İndi isə biz daha irəli səviyyə texnikaları öyrənəcəyik buna misal olaraq şərtləri gətirə bilərik.Siz gələcəkdədə proqramlaşdırma ilə məşğul olandada bu texnikalarla qarşılaşacaqsınız.
Şərtlər
“if” operatorunun işləmə prinsipi aşağıdakı şablon üzrə yerinə yetirilir:
if [[şərt]]
then
True, (Doğru),düz olarsa yerinə yetiriləcək kommandalar
else
False,(Yanlış),səhv olarsa yerinə yetiriləcək kommandalar
fi
Əgər siz diqqətli olsanız bir şeyi başa düşmək üçün onunla birlikdə praktiki nümunə yetirməyi daha yaxşı izah verə biləcəyimizi öyrənmişik.Nmap proqramı vasitəsi ilə hədəf ip adresinə ping ataraq bizə bu hostun qapalı yoxsa açıq olduğunu bildirəcək bir skript yazaq.
#!/bin/bash
#Nmap ile hosta ping atiriq
###Qlobal deyisenler###
IP_ADRESS=$1
function ping_host(){
ping_cmd=$(nmap -sn $IP_ADRESS | grep 'Host is up' | cut -d '(' -f 1 )
}
function print_status(){
if [[ -z $ping_cmd ]]
then
echo 'Host aktivdir'
else
echo 'Host deaktivdir'
fi
}
ping_host
print_status
Nmap proqramı ilə yerinı yetirilən kommanda ilə mətn tipli informasiya qaytarılır, host aktiv olmasa da, aktiv olsa isə “Host is up” yazısı mətndə yer alır.Bunu yoxlamaq üçün nmap olan sətiri öz Kali Linux cihazınızda yoxlaya bilərsiniz.Şərt blokunda isə if operatoru daxilində -z parametri bu dəyişənin boş olub olmaması yoxlayır.Əgər boşdursa ‘Host deaktivdir’, əks halda ‘Host aktivdir’ yazısı görünəcəkdir.
┌──(root㉿kali)-[/opt]
└─# ./rosemap.sh 192.168.10.13
Host aktivdir
┌──(root㉿kali)-[/opt]
└─# ./rosemap.sh 192.168.10.1
Host deaktivdir
┌──(root㉿kali)-[/opt]
└─# ./rosemap.sh 192.168.10.44
Host aktivdir
Digər tipli informasiyaları müqayisə etmək, şərt blokunda istifadə etmək üçün aşağıdakı cədvəllərdən istifadə edə bilərsiniz.
Ədədi müqayisələr.
| Bərabərdir. | [[ x -eq y]] |
| Bərabər deyil. | [[ x -ne y ]] |
| Azdır. | [[x -lt y ]] |
| Çoxdur. | [[ x -gt y ]] |
Mətni müqayisələr.
| Bərabədir. | [[ str1==str2 ]] |
| Bərabər deyil. | [[ str1 != str2]] |
| Boş mətndir. | [[ -z str]] |
| Boş mətn deyil. | [[ -n str ]] |
Fayl və kataloq üçün istifadə olunan müqayisələr.
| Fayl mövcuddur? | [[ -a fayl_adi ]] |
| Kataloq mövcuddur? | [[ -d kataloq_adi ]] |
| Oxunula bilən fayldır? | [[ -r fayl_adi]] |
| Fayla yazma icazəsi varmı? | [[ -w fayl_adi ]] |
| İcra olunan fayldır? | [[ -x fayl_adi ]] |
| Fayl boş deyil? | [[ -s fayl_adi ]] |
Ümidvaram faydalı olmuşdur.Oxuduğunuz üçün təşəkkürlər!!
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Telegram (Qrup): https://t.me/xakerazchat