Programare BASH

Exportarea variabilelor Bash

Exportarea variabilelor Bash
Înțelegerea variabilelor din shell-ul Bash este esențială în lucrul cu Linux într-o manieră profesională. Este una dintre cerințele cheie pentru programare, precum și pentru obținerea certificării Linux Professional Institute (LPIC) Nivelul 1 [2].

Articolul publicat anterior de Fahmida Yesmin [4] vă oferă o introducere minunată în variabilele Bash. Aici mergem mai departe și explicăm cum să declarăm variabile în Bash în așa fel încât să le puteți utiliza în alte medii din sistemul dvs. Linux și ce efecte secundare corespunzătoare trebuie să țineți cont.

O scurtă descriere a lui Bash

Shell-ul Bash a fost lansat pentru prima dată în 1989 și a fost folosit ca shell de autentificare implicit pentru majoritatea distribuțiilor Linux. Brian Fox a scris Bash ca un shell UNIX și un limbaj de comandă pentru proiectul GNU ca înlocuitor de software gratuit pentru shell Bourne. Este un acronim pentru Bourne Again Shell. Bash este în mare parte compatibil cu SH și încorporează caracteristici utile din shell-ul Korn ksh și coaja C csh [6].

În timp ce sistemul de operare GNU oferă alte shell-uri, inclusiv o versiune de csh, Bash este shell-ul interactiv implicit. Este proiectat având în vedere portabilitatea și în prezent rulează pe aproape fiecare versiune a UNIX plus alte sisteme de operare [9].

Variabilele Bash pe scurt

Variabilele sunt componente esențiale ale limbajelor de programare. Acestea sunt menționate și manipulate într-un program de computer. Pur și simplu, variabilele reprezintă celule de memorie numite. Acest lucru este același în Bash ca în orice limbaj de programare. Acest lucru face posibil ca noi, ca oameni și utilizatori ai computerului, să stocăm valori în „creierul” computerului și să le găsim din nou prin numele atribuit al variabilei.

Termenul de variabilă se referă la o formă combinată de două cuvinte, i.e., variază + capabil, ceea ce înseamnă că valoarea acestuia poate fi modificată și poate fi utilizată de mai multe ori. Spre deosebire de aceasta, variabilele care nu pot fi modificate se numesc constante. [10]

Atâta timp cât există suficientă memorie disponibilă pentru scriptul dvs. puteți crea și utiliza în mod liber variabile. Le puteți seta pur și simplu definind un nume de variabilă și apoi atribuindu-i valoarea. Un nume variabil în Bash poate include litere, cifre și caractere de subliniere. Numele său poate fi început doar cu o literă și o subliniere. Numele variabilelor valide sunt size, tax5 și _tax20, dar nu 5rules.

O valoare variabilă în Bash poate conține un număr, un singur caracter, un șir de caractere sau o listă de articole (numită matrice). Nu are un tip de date vizibil, iar tipul de date intern al variabilei va fi calculat automat (sau derivat) la atribuirea unei valori. În plus, nu este nevoie să declarați variabila - atribuirea unei valori referinței sale va crea variabila automat. Exemplul de script Bash de mai jos demonstrează acest lucru pentru o atribuire de șiruri și o atribuire de număr numeric.

#! / bin / bash
welcomeMessage = "Hello World!"
echo $ welcomeMessage
preț = 145
echo $ pret

Convențiile de numire a variabilelor Bash

Nu există reguli fixe pentru ortografia numelor variabilelor, ci doar convenții. Aceste convenții sunt utilizate:

Pentru companiile IT globale, este obișnuit să lucrați cu ghiduri de stil pentru a asigura un stil de codificare comun între companii. Consultați Editorul pentru dezvoltatori pentru IBM și Ghidul de stil Google [3] pentru mai multe informații despre convențiile pe care le urmează.

Vizibilitate variabilă

Cazul implicit este că o variabilă este legată local de o structură, funcție, script sau proces și nu poate fi accesată din afara acesteia. Exemplul de mai jos arată acest lucru pentru variabila $ mesaj care aparține scriptului și $ welcome care aparține funcției outputWelcomeMessage ().

#!/ bin / bash
# definiți un mesaj variabil pentru script
mesaj = ”Bună ziua, din nou!”
outputWelcomeMessage ()
# definiți o variabilă locală
bun venit = ”Bună ziua!”
ecou $ bun venit

outputWelcomeMessage () # printează Bună ziua!
ecou $ mesaj # printează Bună ziua, din nou!

Pentru a vă asigura că o variabilă definită anterior cu același nume este legată local utilizați cuvântul cheie local așa cum se arată în continuare. Fără cuvântul cheie local, atribuirea din linia 8 s-ar referi la variabila definită global cu același nume definit mai devreme.

#!/ bin / bash
# definiți un mesaj variabil pentru script
mesaj = ”Bună ziua, din nou!”
outputWelcomeMessage ()
# definește o variabilă locală cu același nume
Mesaj local = ”Bună ziua!”
ecou $ mesaj

outputWelcomeMessage () # printează Bună ziua!
ecou $ mesaj # printează Bună ziua, din nou!

Extinderea sferei unei variabile

Pentru a face o variabilă internă vizibilă pentru alte procese copil este necesar un pas suplimentar. Acest pas se numește exportarea unei variabile. Bash oferă utilizarea exportului de cuvinte cheie urmat de numele variabilei. Listarea de mai jos demonstrează acest lucru pentru variabila backupPath.

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

Comanda de export este un shell încorporat care este folosit pentru a defini variabila ca una pe care o moștenesc sub-shell-urile (shell-urile generate de original). Variabilele exportate pot fi citite și scrise prin mai multe procese.

A doua opțiune este declararea variabilei ca variabilă de mediu chiar de la început. Puteți face acest lucru utilizând cuvântul cheie declare urmat de opțiunea „-x” (consultați [5] pentru mai multe informații despre comanda declare). Efectul este similar cu comanda de export care a fost introdusă anterior.

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

Moșteniți de la alte sesiuni

Când executați un program, acesta își moștenește automat variabilele de mediu din procesul părinte. De exemplu, dacă $ HOME este setat la / root în părinte, atunci variabila $ HOME a copilului este setată și la / root.

Alte comenzi

Printre altele, Linux vine cu comenzi și opțiuni utile care se referă la variabile. Primele două sunt numite env și printenv. Acestea listează toate variabilele de mediu.

Imaginea de mai jos arată ieșirea comenzii env într-un terminal care este rulat într-o sesiune X. Conține variabile precum $ XTERM (tip terminal), $ SHELL (programul care este apelat la conectare și afișează / bin / bash pentru calea către interpretul Bash), $ LS_COLORS (culorile utilizate pentru a evidenția fișierul diferit tipuri la apelarea ls), și $ DESKTOP_SESSION (mediul desktop X actual).

A treia și a patra sunt opțiuni ale comenzii de export - -p și -n. -p este scurt pentru tipărire și afișează toate variabilele exportate în shell-ul curent utilizând comanda declare.

$ export -p
declara -x DESKTOP_SESSION = "xfce"
declara -x DISPLAY = ": 0"
declara -x GLADE_CATALOG_PATH = ":"
declara -x GLADE_MODULE_PATH = ":"
declara -x GLADE_PIXMAP_PATH = ":"
declara -x HOME = "/ home / franc"
declare -x LANG = "de_DE.UTF-8 "

Opțiunea -n este utilizată pentru a anula o variabilă de mediu. Listarea de mai jos demonstrează acest lucru pentru variabila BACKUPPATH definită anterior.

$ export -n BACKUPPATH

Concluzie

Bash este un mediu foarte inteligent, dar uneori și puțin complex. Variabilele controlează modul în care interacționează diferitele instrumente. Exportul variabilelor ajută la comunicarea între procese și este ușor de utilizat în viața de zi cu zi.

Despre autori

Jacqui Kabeta este ecologist, cercetător avid, trainer și mentor. În mai multe țări africane a lucrat în industria IT și în mediile ONG-urilor.

Frank Hofmann este dezvoltator IT, trainer și autor și preferă să lucreze din Berlin, Geneva și Cape Town. Co-autor al cărții de gestionare a pachetelor Debian disponibil de pe dpmb.org

Linkuri și referințe

Instalați cel mai recent Dolphin Emulator pentru Gamecube și Wii pe Linux
Emulatorul Dolphin vă permite să jucați jocurile alese de Gamecube și Wii pe computerele personale Linux (PC). Fiind un emulator de joc liber disponi...
Cum se folosește GameConqueror Cheat Engine în Linux
Articolul acoperă un ghid despre utilizarea sistemului de înșelăciune GameConqueror în Linux. Mulți utilizatori care joacă jocuri pe Windows folosesc ...
Cele mai bune emulatoare pentru console de jocuri pentru Linux
Acest articol va enumera programele populare de emulare a consolei de jocuri disponibile pentru Linux. Emularea este un strat de compatibilitate softw...