Proqram TəMinatı

Başlayanlar üçün BASH - Giriş Parametrləri

Müəllif: John Stephens
Yaradılış Tarixi: 25 Yanvar 2021
YeniləMə Tarixi: 13 BiləR 2024
Anonim
Başlayanlar üçün BASH - Giriş Parametrləri - Proqram TəMinatı
Başlayanlar üçün BASH - Giriş Parametrləri - Proqram TəMinatı

MəZmun

BASH skriptlərinizə məlumat ötürün

Yeni başlayanlar üçün bir başlanğıc tərəfindən yazılmış yeganə BASH dərsliyidir.

Bu bələdçini oxuyanlar öz biliklərini inkişaf etdirəcəklər və inşallah sonuna qədər bir qədər ağıllı ssenarilər yaza biləcəklər.

Sonuncu dəfə sadəcə "Salam Dünya" sözlərini əks etdirən ilk skriptinizi hazırladıq. Mətn redaktorları, terminal pəncərəsini necə açmaq, skriptlərinizi harada yerləşdirmək, "Salam Dünya" sözlərini necə göstərmək və quotes ("") kimi qaçış simvollarında daha incə nöqtələr kimi mövzuları əhatə edir.

Bu bölmə giriş parametrlərini əhatə edir. Bu cür bir şey öyrədən digər bələdçilər var, lakin çox tez-tez, onlar kifayət qədər aşağı səviyyəli bir şeyə tullanır və bəlkə də çox məlumat verirlər.

Parametr nədir?

Son dərslikdəki "Salam Dünya" ssenarisində hamısı çox statik idi. Skript həqiqətən çox iş görmədi.


"Salam Dünya" ssenarisini necə inkişaf etdirə bilərik?

Onu işlədən şəxsə salam verən bir ssenari haqqında nə demək olar? "Salam Dünya" demək əvəzinə "Salam Gary", "Salam Tim" və ya "Salam Dolly" deyəcəkdir.

Giriş parametrlərini qəbul etmə qabiliyyəti olmadan üç skript yazmalıyıq "hellogary.sh", "hellotim.sh" və "hellodolly.sh".

Skriptimizə giriş parametrlərini oxumağa icazə verərək, hər kəsi salamlamaq üçün bir skriptdən istifadə edə bilərik.

Bunun üçün terminal pəncərəsini açın (CTRL + ALT + T) və aşağıdakıları yazaraq skriptlər qovluğuna gedin: (cd komandası haqqında)

cd skriptləri

Aşağıdakıları yazaraq Hellome.sh adlı yeni bir yazı yaradın: (toxunma əmri haqqında)

tebrik salam.sh

Aşağıdakıları yazaraq skriptinizi ən yaxşı redaktorunuzda açın: (nano əmri haqqında)

nano salam.sh

Nano daxilində aşağıdakı mətni daxil edin:


#! / bin / bash
echo "salam $ @"

Mətbuat CTRL O faylı saxlamaq və sonra CTRL X faylı bağlamaq üçün.

Skript işlətmək üçün adınızı əvəz edən əmr satırına aşağıdakıları daxil edin.

sh salam.sh Tim

Ssenarini adımla işlədirəmsə, "Salam Gary" sözləri göstərilir.

Birinci sətirdə faylı skript kimi tanımaq üçün istifadə olunan #! / Bin / bash xətti var.


İkinci sətirdə salam kəlməsini əks etdirmək üçün echo ifadəsi istifadə olunur və sonra qəribə $ @ notation var. (echo əmri haqqında)

$ @, Skript adı ilə birlikdə daxil olan hər bir parametri göstərmək üçün genişlənir. Beləliklə, "sh helmeme.sh tim" yazısınızsa "salam tim" sözləri göstərilir. "Hellome.sh tim Smith" yazısınızsa, "salam tim smith" sözləri göstərilir.

Hellome.sh skriptinin yalnız adını istifadə edərək salam söyləməsi yaxşı ola bilər. Kimsə görüşəndə ​​heç kəs "Salam Gary Newell" demir, amma buna baxmayaraq "Salam Gary" deyə bilər.

Skriptini elə dəyişək ki, sadəcə birinci parametrdən istifadə etsin. Salam.sh skriptini nano şəklində açaraq aşağıdakıları yazın:

nano salam.sh

Skriptini aşağıdakı şəkildə oxunan şəkildə dəyişdirin:

#! / bin / bash
echo "salam $ 1"

Skriptə basaraq qeyd edin CTRL O və sonra basaraq çıxın CTRL X.

Skriptini aşağıda göstərildiyi kimi işlədin (adınızı özünüzlə əvəz edin):

sh salam.sh gary newell

Ssenarini işlədərkən sadəcə "Salam Gary" (və ya inşallah "salam" və adın nə olursa olsun) deyəcəkdir.

$ Simvolundan sonra 1 əsas olaraq echo əmrinə deyilir, birinci parametrdən istifadə edin. 1 dolları 2 dollarla əvəz etsəniz, onda "salam yeniellə" (və ya soyadınız nə olursa olsun) göstərilir. Tam adını almaq üçün 1 dollardan sonra 2 dollar da əlavə edə bilərsiniz.

Onu birdən çox parametrlə işə salmaq, daxil olduqları sıraya uyğun yerlərdə göstərəcəkdir.

Yeri gəlmişkən, əgər $ 2-ni $ 3 ilə əvəz etsəniz və ssenarini yalnız 2 parametrlə işləsəniz, nəticə sadəcə "Salam" olacaqdır.

Həqiqətən daxil edilmiş parametrlərin sayını göstərmək və idarə etmək mümkündür və sonrakı dərslər parametr sayımını doğrulama məqsədləri üçün necə istifadə edəcəyinizi göstərəcəkdir.

Daxil edilmiş parametrlərin sayını göstərmək üçün, Hellome.sh skriptini açın (nano greetme.sh) və mətnə ​​aşağıdakı kimi düzəldin:

#! / bin / bash
echo "siz $ # adları daxil etdiniz"
echo "salam $ @"

Mətbuat CTRL O skript saxlamaq və CTRL X nanodan çıxmaq.

2-ci sətirdə $ # daxil edilmiş parametrlərin sayı göstərilir.

İndiyə qədər bunların hamısı yenidir, lakin çox faydalı deyil. Sadəcə "salam" yazan bir skript kimə lazımdır?

Exo bəyanatları üçün həqiqi istifadəçi istifadəçiyə çoxsaylı və mənalı çıxış təmin etməkdir. Bəzi ciddi nömrələrin büzülməsi və fayl / qovluq manipulyasiyasını ehtiva edən mürəkkəb bir şey etmək istədiyinizi xəyal edə bilsəniz, bu addımın hər addımında baş verənləri istifadəçiyə göstərmək faydalı olar.

Bunun əksinə olaraq giriş parametrləri skriptinizi interaktiv edir. Giriş parametrləri olmadan çox oxşar, lakin bir az fərqli adlarla işləyən onlarla skript lazımdır.

Bütün bunları nəzərə alaraq, bilmək yaxşı bir fikir olduğu üçün bir sıra digər faydalı giriş parametrləri var və bunların hamısını bir kod parçasına daxil edəcəyəm.

Hellome.sh skriptinizi açın və aşağıdakı kimi düzəldin:

#! / bin / bash
echo "Filename: $ 0"
echo "Proses ID: $$"
echo "-------------------------------"
echo "siz $ # adları daxil etdiniz"
echo "salam $ @"

Mətbuat CTRL O faylı saxlamaq və CTRL X çıxmaq.

İndi skriptini işlədin (adınla əvəz et).

sh salam.sh

Bu dəfə skript aşağıdakıları göstərir:

Filename: salam.sh
Proses nömrəsi: 18595
------------------------------
2 ad daxil etdiniz
salam gary newell

Skriptin birinci sətrindəki 0 $, çalışdığınız skriptin adını göstərir. Qeyd edək ki, dollar sıfırdır və dollar o deyil.

İkinci sətirdə olan $$ çalışdığınız skriptin proses idini göstərir. Niyə bu faydalıdır? Ön planda bir skript işlədirsinizsə, sadəcə basaraq ləğv edə bilərsiniz CTRL C. Skripti arxa plana keçirtmisinizsə, təkrarlanan və eyni işi görməyə başlamışsa və ya sisteminizə zərər vurmağa başlamışsa, onu öldürməli olacaqsınız.

Arxa planda işləyən bir skript öldürmək üçün skriptin proses id-i lazımdır. Skript, prosesin idinin bir hissəsi kimi proses idini versəydi yaxşı olmazmı? (ps və öldürmək əmrləri haqqında)

Nəhayət, bu mövzu ilə bitməzdən əvvəl çıxışın hara getdiyini müzakirə etmək vacibdir. Skript indiyə qədər işlədiyi zaman çıxışı ekranda göstərildi.

Skript çıxışının bir çıxış faylına yazılması olduqca yaygındır. Bunu etmək üçün skriptinizi aşağıdakı kimi yerinə yetirin:

sh salam.sh gary> salam.log

Yuxarıdakı əmrdəki> simvolu "hello gary" mətnini Hellome.log adlı bir fayla çıxarır.

Skriptinizi> simvolu ilə işlədiyiniz zaman çıxış sənədinin məzmunu üzərində yazılır. Sənədə əlavə etmək istəsəniz> ilə >> ilə əvəz edin.

Xülasə

Artıq ekrana mətn yaza və giriş parametrlərini qəbul etməlisiniz.

Paylamaq

Son MəQaləLəR

Burnout 3: Tededown Cheats, PS2 üçün məsləhətlər və göstərişlər
Oyun

Burnout 3: Tededown Cheats, PS2 üçün məsləhətlər və göstərişlər

Yanma 3: Alınmaı 2004-cü ildə Playtation 2 və Xbox-da çıxarılan bir yarışma video oyunu. Bu fırıldaqçı kodlar yoxdur, buna görə oyunda hər avtomobilin kilidini açmaq, hər irq...
Kod 39 səhvlərini necə düzəltmək olar
Proqram TəMinatı

Kod 39 səhvlərini necə düzəltmək olar

Kod 39 xətaı bir neçə cihaz meneceri əhv kodlarından biridir. Əkər hallarda, Kod 39'dakı bir əhv, ya müəyyən bir cihaz parçaı üçün itkin bir ürücü ya ...