BASH programavimas

„Bash“ kintamųjų eksportavimas

„Bash“ kintamųjų eksportavimas
Profesionaliai dirbant su „Linux“ būtina suprasti „Bash“ apvalkalo kintamuosius. Tai yra vienas pagrindinių reikalavimų programuojant ir norint pasiekti „Linux Professional Institute“ sertifikavimo (LPIC) 1 lygio [2].

Anksčiau paskelbtame Fahmida Yesmin straipsnyje [4] pateikiama nuostabi įžanga į Basho kintamuosius. Čia mes žengiame toliau ir paaiškiname, kaip deklaruoti kintamuosius „Bash“ taip, kad galėtumėte juos naudoti kitose „Linux“ sistemos aplinkose ir į kokius atitinkamus šalutinius poveikius turite atsižvelgti.

Trumpas Basho aprašymas

„Bash“ apvalkalas pirmą kartą buvo išleistas 1989 m. Ir buvo naudojamas kaip numatytasis prisijungimo apvalkalas daugumai „Linux“ paskirstymų. Brianas Foxas parašė „Bash“ kaip UNIX apvalkalą ir komandų kalbą „GNU Project“ kaip nemokamą „Bourne“ apvalkalo programinės įrangos pakaitalą. Tai yra santrumpa „Bourne Again Shell“. Bashas iš esmės suderinamas su sh ir apima naudingas „Korn“ apvalkalo savybes ksh ir C apvalkalas csh [6].

Nors GNU operacinė sistema teikia kitus apvalkalus, įskaitant csh, „Bash“ yra numatytasis interaktyvus apvalkalas. Jis sukurtas atsižvelgiant į perkeliamumą ir šiuo metu veikia beveik visose UNIX versijose bei kitose operacinėse sistemose [9].

„Bash“ kintamieji trumpai

Kintamieji yra esminiai programavimo kalbų komponentai. Jais remiamasi ir jais manipuliuojama kompiuterinėje programoje. Paprasčiau tariant, kintamieji reiškia įvardytas atminties ląsteles. Tai yra tas pats „Bash“, kaip ir bet kurioje programavimo kalboje. Tai leidžia mums, žmonėms ir kompiuterio vartotojams, išsaugoti reikšmes kompiuterio „smegenyse“ ir vėl jas surasti per priskirtą kintamojo pavadinimą.

Terminas kintamasis reiškia sujungtą dviejų žodžių formą, t.e., „vari + pajėgi“, o tai reiškia, kad jo vertę galima pakeisti ir ją galima naudoti kelis kartus. Priešingai, kintamieji, kurių negalima pakeisti, vadinami konstantomis. [10]

Jei jūsų scenarijui yra pakankamai atminties, galite laisvai kurti ir naudoti kintamuosius. Galite juos paprasčiausiai nustatyti apibrėždami kintamojo pavadinimą ir paskirdami jo vertę. „Bash“ kintamojo vardas gali apimti raides, skaitmenis ir pabraukimus. Jo pavadinimą galima pradėti tik raide ir pabraukimu. Tinkami kintamųjų pavadinimai yra dydis, tax5 ir _tax20, bet ne 5 taisyklės.

Kintamojoje reikšmėje „Bash“ gali būti skaičius, vienas simbolis, simbolių eilutė arba elementų sąrašas (vadinamas masyvu). Jis neturi matomo duomenų tipo, o kintamojo vidinis duomenų tipas bus automatiškai suprastas (arba išvestas) priskyrus vertę. Be to, nereikia deklaruoti kintamojo - priskyrus vertę jo nuorodai, kintamasis bus sukurtas automatiškai. Žemiau pateiktas „Bash“ scenarijaus pavyzdys tai parodo eilutės priskyrimui ir skaitiniam numerio priskyrimui.

#! / bin / bash
welcomeMessage = "Sveikas pasauli!"
echo $ welcomeMessage
kaina = 145
echo $ kaina

„Bash“ kintamųjų konvencijų pavadinimas

Nėra fiksuotų kintamųjų pavadinimų rašybos taisyklių, yra tik sutartinės. Naudojamos šios sutartys:

Pasaulinėms IT įmonėms įprasta dirbti su stiliaus vadovais, siekiant užtikrinti bendrą įmonės kodavimo stilių. Norėdami gauti daugiau informacijos apie jų taikomus susitarimus, žr. „IBM“ kūrėjų redakciją ir „Google“ stiliaus vadovą [3].

Kintamas matomumas

Numatytasis atvejis yra tai, kad kintamasis yra lokaliai susietas su struktūra, funkcija, scenarijumi ar procesu ir negali būti pasiekiamas iš jo ribų. Žemiau pateiktame pavyzdyje tai parodyta kintamajam $ pranešimui, kuris priklauso scenarijui, ir $ welcome, kuris priklauso funkcijai outputWelcomeMessage ().

#!/ bin / bash
# apibrėžti kintamą pranešimą scenarijui
žinutė = ”Sveiki, dar kartą!“
outputWelcomeMessage ()
# apibrėžti vietinį kintamąjį
sveiki = ”Sveiki!“
echo $ welcome

outputWelcomeMessage () # spausdina Sveiki!
echo $ message # prints Sveiki, dar kartą!

Norėdami įsitikinti, kad anksčiau apibrėžtas kintamasis tuo pačiu pavadinimu yra susietas su lokaliu, naudokite raktinį žodį local, kaip parodyta toliau. Be raktinio žodžio „local“ priskyrimas 8 eilutėje būtų susijęs su visuotinai apibrėžtu kintamuoju tuo pačiu pavadinimu, apibrėžtu anksčiau.

#!/ bin / bash
# apibrėžti kintamą pranešimą scenarijui
žinutė = ”Sveiki, dar kartą!“
outputWelcomeMessage ()
# apibrėžti vietinį kintamąjį tuo pačiu pavadinimu
Vietinis pranešimas = ”Sveiki!“
echo $ žinutė

outputWelcomeMessage () # spausdina Sveiki!
echo $ message # prints Sveiki, dar kartą!

Kintamojo taikymo srities išplėtimas

Norint, kad vidinis kintamasis būtų matomas kitiems vaiko procesams, reikia atlikti papildomą žingsnį. Šis žingsnis vadinamas kintamojo eksportavimu. „Bash“ siūlo naudoti raktinį žodį eksportas ir kintamojo pavadinimas. Žemiau pateiktame sąraše tai parodo kintamasis „backupPath“.

$ backupPath = ”/ opt / backup /”
$ export backupPath

Eksporto komanda yra įmontuota apvalkalas, naudojamas kintamajam apibrėžti kaip tą, kurį paveldi po apvalkalais (iš pirminio išgaunami apvalkalai). Tada eksportuotus kintamuosius galima skaityti ir rašyti daugiau nei vienu procesu.

Antrasis variantas yra skelbti kintamąjį kaip aplinkos kintamąjį nuo pat pradžių. Tai galite padaryti naudodami raktinį žodį deklaruoti ir parinktį „-x“ (daugiau informacijos apie komandą deklaruoti žr. [5]). Poveikis yra panašus į eksporto komandą, kuri buvo įvesta anksčiau.

$ declare -x BACKUPPATH = ”/ opt / backup /”

Paveldėkite iš kitų sesijų

Vykdant programą ji automatiškai paveldi savo aplinkos kintamuosius iš pirminio proceso. Pvz., Jei $ HOME yra nustatytas kaip / root tėvuose, tada vaiko $ HOME kintamasis taip pat nustatomas kaip / root.

Kitos komandos

Be kitų, „Linux“ yra naudingų komandų ir parinkčių, susijusių su kintamaisiais. Pirmieji du yra vadinami env ir printenv. Jie išvardija visus aplinkos kintamuosius.

Žemiau pateiktame paveikslėlyje parodyta komandos env išvestis terminale, kuris vykdomas X sesijoje. Jame yra kintamieji, pvz., $ XTERM (terminalo tipas), $ SHELL (programa, kuri reikalinga prisijungus, ir rodo / bin / bash kelią į „Bash“ vertėją), $ LS_COLORS (spalvos, kurios naudojamos norint paryškinti skirtingą failą) tipai, kai skambinate ls), ir $ DESKTOP_SESSION (dabartinė „X“ darbalaukio aplinka).

Trečiasis ir ketvirtasis yra eksportavimo komandos parinktys - -p ir -n. -p yra trumpas spausdinti ir tiesiog parodo visus eksportuotus kintamuosius dabartiniame apvalkale, naudodamas komandą deklaruoti.

$ eksportas -p
paskelbti -x DESKTOP_SESSION = "xfce"
paskelbti -x DISPLAY = ": 0"
paskelbti -x GLADE_CATALOG_PATH = ":"
paskelbti -x GLADE_MODULE_PATH = ":"
paskelbti -x GLADE_PIXMAP_PATH = ":"
paskelbti -x NAMAI = "/ namai / atviras"
paskelbti -x LANG = "de_DE.UTF-8 "

Parinktis -n naudojama aplinkos kintamajam nustatyti. Toliau pateiktame sąraše tai parodo anksčiau apibrėžtas kintamasis BACKUPPATH.

$ eksportas -n ATSARGINĖ ATGAL

Išvada

Bashas yra labai sumani, bet kartais ir šiek tiek sudėtinga aplinka. Kintamieji valdo skirtingų įrankių sąveiką. Kintamųjų eksportavimas padeda bendrauti tarp procesų ir yra lengvai naudojamas kasdieniame gyvenime.

Apie autorius

Jacqui Kabeta yra aplinkosaugininkas, aistringas tyrinėtojas, treneris ir patarėjas. Keliose Afrikos šalyse ji dirbo IT pramonėje ir NVO aplinkoje.

Frankas Hofmannas yra IT kūrėjas, treneris, autorius ir nori dirbti iš Berlyno, Ženevos ir Keiptauno. „Debian“ paketų tvarkymo knygos, kurią galite rasti dpmb, bendraautorius.org

Nuorodos ir nuorodos

Atvirojo kodo komercinių žaidimų variklių uostai
Nemokami atvirojo kodo ir įvairių platformų žaidimų varikliai gali būti naudojami žaidžiant senus ir kai kuriuos gana naujus žaidimų pavadinimus. Šiam...
Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...
Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...