BASHi programmeerimine

Bashi muutujate eksportimine

Bashi muutujate eksportimine
Bashi kestas olevate muutujate mõistmine on Linuxiga professionaalsel viisil töötamisel hädavajalik. See on üks põhilisi nõudeid nii programmeerimisel kui ka Linuxi professionaalse instituudi sertifikaadi (LPIC) 1. taseme saavutamisel [2].

Fahmida Yesmini [4] varem avaldatud artikkel annab teile suurepärase sissejuhatuse Bashi muutujatesse. Siin astume edasi ja selgitame, kuidas deklareerida muutujaid Bashis nii, et saaksite neid kasutada oma Linuxi süsteemi teistes keskkondades, ja milliseid vastavaid kõrvaltoimeid peate arvestama.

Bashi lühikirjeldus

Bashi kest ilmus esmakordselt 1989. aastal ja seda on enamiku Linuxi distributsioonide puhul kasutatud vaikimisi sisselogimiskoorina. Brian Fox kirjutas Bashi GNU projekti UNIX-i kestana ja käsukeelena Bourne-i koore tasuta tarkvara asendajana. See on lühend Bourne jälle kest. Bash ühildub suures osas sh ja sisaldab Korni kesta kasulikke funktsioone ksh ja C-kest csh [6].

Kuigi GNU operatsioonisüsteem pakub muid kestasid, sealhulgas versiooni csh, Bash on vaikimisi interaktiivne kest. See on loodud kaasaskantavust silmas pidades ja töötab praegu peaaegu kõigis UNIX-i versioonides pluss muudes operatsioonisüsteemides [9].

Bashi muutujad lühidalt

Muutujad on programmeerimiskeelte olulised komponendid. Neile viidatakse ja nendega manipuleeritakse arvutiprogrammis. Lihtsamalt öeldes tähistavad muutujad nimega mälurakke. See on Bashis sama mis mis tahes programmeerimiskeeles. See võimaldab meil inimestena ja arvuti kasutajatena salvestada väärtused arvuti ajusse ja leida need muutuja määratud nime kaudu uuesti.

Mõiste muutuja tähistab kahe sõna ühendatud vormi, st.e., varieeruda + võimalik, mis tähendab, et selle väärtust saab muuta ja seda saab kasutada mitu korda. Vastupidiselt sellele nimetatakse muutujaid, mida ei saa muuta, konstantideks. [10]

Niikaua kui teie skripti jaoks on piisavalt mälu, saate muutujaid vabalt luua ja kasutada. Saate need lihtsalt määrata, määrates muutuja nime ja määrates seejärel selle väärtuse. Bashi muutuja nimi võib sisaldada tähti, numbreid ja alakriipe. Selle nime saab alustada ainult tähe ja alakriipsuga. Kehtivad muutujate nimed on suurus, tax5 ja _tax20, kuid mitte 5 reeglit.

Bashi muutuja väärtus võib sisaldada arvu, üksikut märki, tähemärgistringi või üksuste loendit (nn massiiv). Sellel pole nähtavat andmetüüpi ja muutuja sisemine andmetüüp selgitatakse välja (või tuletatakse) väärtuse määramisel automaatselt. Pealegi pole muutujat vaja deklareerida - väärtuse määramine selle viitele loob muutuja automaatselt. Allpool toodud Bashi skripti näide näitab seda stringi määramise ja numbrilise numbrite määramise korral.

#! / bin / bash
welcomeMessage = "Tere maailm!"
echo $ welcomeMessage
hind = 145
kaja $ hind

Bashi muutujate tavade nimetamine

Muutujate nimede õigekirja jaoks pole kindlaid reegleid, on ainult kokkulepped. Neid konventsioone kasutatakse:

Ülemaailmsete IT-ettevõtete jaoks on tavapärane töötada stiilijuhistega, et tagada ettevõttes ühine kodeerimisstiil. Lisateavet nende järgitavate konventsioonide kohta leiate IBM-i arendajatoimetusest ja Google'i stiilijuhendist [3].

Muutuv nähtavus

Vaikimisi on see, et muutuja on lokaalselt seotud struktuuri, funktsiooni, skripti või protsessiga ja sellele ei pääse juurde väljaspool seda. Allpool olev näide näitab seda muutuja $ sõnumi jaoks, mis kuulub skripti, ja $ welcome, mis kuulub funktsiooni outputWelcomeMessage ().

#!/ bin / bash
# määrake skriptile muutuva sõnumi
sõnum = ”Tere, veel kord!”
outputWelcomeMessage ()
# määrake kohalik muutuja
tere tulemast = ”Tere!”
echo $ teretulnud

outputWelcomeMessage () # prindib Tere!
echo $ message # prints Tere, veel kord!

Veendumaks, et varem määratletud sama nimega muutuja on kohapeal seotud, kasutage märksõna kohalik, nagu on näidatud järgmiselt. Ilma märksõnata local seonduks reas 8 olev omistamine varem määratletud sama nimega globaalselt määratletud muutujaga.

#!/ bin / bash
# määrab skriptile muutuva teate
sõnum = ”Tere, veel kord!”
outputWelcomeMessage ()
# määrab sama nimega kohaliku muutuja
Kohalik sõnum = ”Tere!”
echo $ sõnum

outputWelcomeMessage () # prindib Tere!
echo $ message # prints Tere, veel kord!

Muutuja ulatuse laiendamine

Sisemise muutuja teistele lapseprotsessidele nähtavaks tegemiseks on vaja täiendavat sammu. Seda sammu nimetatakse muutuja eksportimiseks. Bash pakub märksõna eksport, millele järgneb muutuja nimi. Allpool olev loetelu näitab seda muutuja backupPath puhul.

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

Ekspordikäsk on sisseehitatud kest, mida kasutatakse muutuja määratlemiseks sellisena, mille pärivad alamkoorid (algsest kudenud kestad). Eksporditavaid muutujaid saab lugeda ja kirjutada mitme protsessiga.

Teine võimalus on deklareerida muutuja algusest peale keskkonnamuutujana. Seda saate teha, kasutades märksõna deklareeri, millele järgneb suvand "-x" (lisateavet käsu deklareeri kohta vt [5]). Mõju on sarnane ekspordikäsklusega, mis võeti kasutusele varem.

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

Pärige teistelt seanssidelt

Programmi käivitamisel pärib see automaatselt keskkonnamuutujad vanemprotsessist. Näiteks kui $ HOME on vanemas seatud väärtusele / root, siis on lapse muutuja $ HOME samuti seatud väärtusele / root.

Edasised käsud

Muuhulgas on Linuxil kasulikud muutujatega seotud käsud ja suvandid. Kahte esimest nimetatakse env ja printenv. Nad loetlevad kõik keskkonnamuutujad.

Alloleval pildil on käsu env väljund terminalis, mida käitatakse X-seansil. See sisaldab muutujaid nagu $ XTERM (terminali tüüp), $ SHELL (programm, mida kutsutakse sisselogimisel ja mis näitab / bin / bash Bashi tõlgi jaoks), $ LS_COLORS (värvid, mida kasutatakse eri failide esiletõstmiseks) tüübid, kui helistate ls) ja $ DESKTOP_SESSION (praegune X töölaua keskkond).

Kolmas ja neljas on eksportkäskude - -p ja -n valikud. -p on printimiseks lühike ja kuvab lihtsalt kõik eksporditud muutujad aktiivses kestas, kasutades käsku deklaratsiooni.

$ eksport -p
deklareeri -x DESKTOP_SESSION = "xfce"
deklareeri -x DISPLAY = ": 0"
deklareerige -x GLADE_CATALOG_PATH = ":"
deklareerige -x GLADE_MODULE_PATH = ":"
deklareerige -x GLADE_PIXMAP_PATH = ":"
deklareeri -x KODU = "/ kodu / aus"
deklareeri -x LANG = "de_DE.UTF-8 "

Valikut -n kasutatakse keskkonnamuutuja tühistamiseks. Allpool olev loetelu näitab seda varem määratletud muutuja BACKUPPATH puhul.

$ eksport -n TAGAVARU

Järeldus

Bash on väga nutikas, kuid mõnikord ka natuke keeruline keskkond. Muutujad kontrollivad, kuidas erinevad tööriistad omavahel suhtlevad. Muutujate eksportimine aitab protsesside vahel suhelda ja seda on igapäevaelus lihtne kasutada.

Autorite kohta

Jacqui Kabeta on keskkonnakaitsja, innukas teadlane, koolitaja ja mentor. Mitmes Aafrika riigis on ta töötanud IT-tööstuses ja vabaühenduste keskkonnas.

Frank Hofmann on IT-arendaja, koolitaja ja autor ning eelistab töötada Berliinist, Genfist ja Kaplinnast. Debiani paketihalduse raamatu kaasautor, mis on saadaval veebisaidilt dpmb.org

Lingid ja viited

X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...
Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...
Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...