Bash skript dili
Bash scripting
Bash skript dili bizə uzun işləri qısa zamanda həll etməyə imkan verir. Bu script dilinin fayl formatı .sh
-dır. Aşağıda müxtəlif kod nümunələrini görəcəksiz. O kodları icra etmək üçün onları bir .sh
faylına yazıb sonra chmod +x fayladi
etməklə çalışdırma icazəsi veririk. Sonra isə əvvəlinə ./
əlavə edərək çalışdırıb istədiyimiz əmri yerinə yetiririk.
Kodların əvvəlində, ilk sətirdə olan #!/bin/bash
ifadəsi kodun /bin/
qovluğundakı bash
programı vasitəsilə çalışdırılmalı olduğunu bildirir.
Həmçinin kodlar daxilində şərh yazmaq istəsək #
simvolundan sonra yaza bilərik.
Fayl kontentini dövrə salmaq
Biz fayldakı hər sözü dövrə salıb içərisindəki hər bir sətir üçün hansısa əmri yerinə yetirmək istəyiriksə aşağıdakı kod bu işdə bizə kömək edə bilər:
Yuxarıdakı skriptdə biz 3-cü sətirdə test.txt faylını oxutdurub onun hər sətrini setir olaraq adlandırmasını istədik. 4-cü sətirdə hər bir setir-i echo
əmri ilə ekrana yazdırmasını istədik və son olaraq done ifadəsi ilə dövrün bitməsini göstərdik. Aşağıda skriptin çalışma və işləməsini görürsünüz:
Gördüyünüz kimi fayldakı hər sətri terminala çıxardı. İndi isə əmri dəyişək və yalnız içərisində OS ifadəsi olan sözləri göstərsin, yəni əməliyyat sistemi olanları. Belə olan halda biz grep əmrini istifadə edə bilərik. Yuxarda yazdığımız ilk skriptdə yalnız 4-cü sətirdə aşağıdakı dəyişikliyi etmək lazımdır:
Nəticə:
For dövrləri
Digər programlaşdırma dillərində olduğu kimi burada da for dövrü var. Aşağıdakı skriptlə biz 0-da daxil olmaqlda 10-dan kiçik olan tam ədələri terminala yazdıra bilərik. Bu dövr 10 dəfə həyata keçir və hər dövrdə eded adlı dəyişənimiz 1 vahid artır sonra isə terminala yazılır.
Müəyyən sayda dövr həyata keçirməyin bir digər üsulu da seq
əmrini işlətməkdir. seq
əmri python-da gördüyümüz range()
ifadəsinin bash-dakı oxşarıdır. Bu isə aşağıdakı kimi istifadə oluna bilər:
IF / Else - şərt ifadələri
Aşağıdakı skriptdə 3-cü sətirdə şərt qoyuruq, şərt ödənilərsə 4-cü sətri icra edəcək, ödənilməzsə heç nə etməyəcək. fi ifadəsi kodda olan if blokunun bitməsini göstərir.
Şərt ödənilmədiyi halda hansısa əmri icra etmək istəyiriksə bu zaman else
operatorunu işlədirik:
Arqumentlər (Commandline Arguments)
Bəzən skriptin dinamik dəyişənlərə əsasən çalışmağını istəyirik. Məsələn hər dəfə daxil etdiyimiz adı istifadə edərək terminalda onu salamlayan bir skript yazmaq üçün skript hər zaman çalışdırılmazdan əvvəl bizdən ad tələb edəcək. Bu halda skriptə arqumentlər göndərmək lazım olur. Argumentlər terminalda script adı yazıldıqdan sonra göndərilir. Məsələn biz grep əmrini istifadə edib hansısa sözü filter etməsi üçün ona arqument göndəririk. grep OS
- bu kodda olan "OS" ifadəsi bir arqumentdir. Skriptin nəyə əsasən çalışacağını müəyyən edir.
Yuxarıda dediyimiz kimi bir skript yazaq. Skript arqument kimi bir ad alsın və onu salamlasın. Arqumentləri kod daxilində çağırmaq üçün PHP dilindən bəri gözlərimizi ağrıdan $ simvolunu istifadə edirik:
Çalışdırmaq:
Gördüyünüz kimi $1
ifadəsinin yardımı ilə terminalda skriptə göndərdiyimiz 1-ci arqumenti çağırıb kodda istifadə etdik.
Last updated
Was this helpful?