Programovanie v jazyku BASH

Exportovanie premenných Bash

Exportovanie premenných Bash
Pochopenie premenných v prostredí Bash je nevyhnutné pri profesionálnej práci s Linuxom. Je to jedna z kľúčových požiadaviek na programovanie a dosiahnutie úrovne Linux Professional Certification Institute (LPIC) úrovne 1 [2].

Predtým publikovaný článok Fahmidy Yesmina [4] vám ponúka úžasný úvod do premenných Bash. Tu postupujeme ďalej a vysvetľujeme, ako deklarovať premenné v Bash tak, aby ste ich mohli používať v iných prostrediach vášho systému Linux, a ktoré zodpovedajúce vedľajšie účinky musíte brať do úvahy.

Stručný popis Bash

Bash shell bol prvýkrát uvedený na trh v roku 1989 a bol používaný ako predvolený prihlasovací shell pre väčšinu distribúcií Linuxu. Brian Fox napísal Bash ako shell UNIX a príkazový jazyk pre projekt GNU ako bezplatnú náhradu softvéru za shell Bourne. Je to skratka pre Bourne Again Shell. Bash je do značnej miery kompatibilný s š a obsahuje užitočné funkcie škrupiny Korn ksh a škrupina C csh [6].

Zatiaľ čo operačný systém GNU poskytuje ďalšie škrupiny, vrátane verzie Windows 7 csh, Bash je predvolený interaktívny shell. Je navrhnutý s ohľadom na prenosnosť a v súčasnosti beží na takmer všetkých verziách systému UNIX a na iných operačných systémoch [9].

Bash premenné v skratke

Premenné sú základnou súčasťou programovacích jazykov. Odkazuje sa na ne a manipuluje sa s nimi v počítačovom programe. Jednoducho povedané, premenné predstavujú pomenované pamäťové bunky. V Bashi je to rovnaké ako v ktoromkoľvek programovacom jazyku. To nám ako ľuďom a používateľom počítača umožňuje ukladať hodnoty do „mozgu“ počítača a nájsť ich znova pomocou priradeného názvu premennej.

Pojem premenná označuje kombinovanú formu dvoch slov, t.e., vary + schopný, čo znamená, že jeho hodnotu je možné zmeniť, a možno ju použiť viackrát. Na rozdiel od toho sa premenné, ktoré sa nedajú zmeniť, nazývajú konštanty. [10]

Pokiaľ je pre váš skript k dispozícii dostatok pamäte, môžete ľubovoľne vytvárať a používať premenné. Môžete ich jednoducho nastaviť definovaním názvu premennej a následným priradením jej hodnoty. Názov premennej v jazyku Bash môže obsahovať písmená, číslice a podčiarkovníky. Jeho názov možno začať iba písmenom a podčiarkovníkom. Platné názvy premenných sú size, tax5 a _tax20, ale nie 5 pravidiel.

Hodnota premennej v jazyku Bash môže obsahovať číslo, jeden znak, reťazec znakov alebo zoznam položiek (nazývaných pole). Nemá viditeľný dátový typ a interný dátový typ premennej sa automaticky zistí (alebo odvodí) po priradení hodnoty. Ďalej nie je potrebné deklarovať premennú - priradením hodnoty k jej odkazu sa premenná vytvorí automaticky. Nasledujúci príklad skriptu Bash to demonštruje pre priradenie reťazca a priradenie číselného čísla.

#! / bin / bash
welcomeMessage = "Hello World!„
echo $ welcomeMessage
cena = 145
echo $ cena

Pomenovanie konvencií Bashových premenných

Neexistujú žiadne pevné pravidlá pravopisu názvov premenných, iba konvencie. Používajú sa tieto konvencie:

Pre globálne IT spoločnosti je bežné pracovať so sprievodcami štýlmi, aby sa zabezpečil spoločný štýl kódovania medzi spoločnosťami. Ďalšie informácie o konvenciách, ktoré dodržiavajú, nájdete v Redakčnom článku pre vývojárov pre IBM a v Sprievodcovi štýlmi Google [3].

Variabilná viditeľnosť

Predvoleným prípadom je, že premenná je lokálne viazaná na štruktúru, funkciu, skript alebo proces a mimo nej nie je možné získať prístup. Nasledujúci príklad to ukazuje pre premennú $ message, ktorá patrí k skriptu, a $ welcome, ktoré patria k funkcii outputWelcomeMessage ().

#!/ bin / bash
# definuje premennú správu pre skript
message = ”Dobrý deň, ešte raz!“
outputWelcomeMessage ()
# definovať lokálnu premennú
Vitajte = ”Dobrý deň!“
echo $ vitajte

outputWelcomeMessage () # prints Hello!
echo $ message # prints Ahoj, ešte raz!

Aby ste sa ubezpečili, že predtým definovaná premenná s rovnakým názvom je lokálne viazaná, použite kľúčové slovo local, ako je uvedené ďalej. Bez kľúčového slova local by sa priradenie v riadku 8 vzťahovalo na globálne definovanú premennú s rovnakým názvom definovaným skôr.

#!/ bin / bash
# definuje premennú správu pre skript
message = ”Dobrý deň, ešte raz!“
outputWelcomeMessage ()
# definujte lokálnu premennú s rovnakým názvom
Local message = ”Dobrý deň!“
echo $ správa

outputWelcomeMessage () # prints Hello!
echo $ message # prints Dobrý deň, ešte raz!

Rozšírenie rozsahu premennej

Aby bola vnútorná premenná viditeľná pre ďalšie podradené procesy, je potrebný ďalší krok. Tento krok sa nazýva export premennej. Bash ponúka použitie exportu kľúčového slova nasledovaného názvom premennej. Nasledujúci zoznam to ukazuje pre premennú backupPath.

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

Príkaz export je vstavaný shell, ktorý sa používa na definovanie premennej ako takej, ktorú dedia podškrupiny (škrupiny vytvorené z originálu). Premenné, ktoré sa exportujú, je potom možné čítať a zapisovať viac ako jedným procesom.

Druhou možnosťou je deklarovať premennú ako premennú prostredia hneď od začiatku. Môžete to urobiť pomocou kľúčového slova declare, za ktorým nasleduje voľba „-x“ (ďalšie informácie o príkaze declare nájdete v [5]). Efekt je podobný príkazu na export, ktorý bol zavedený predtým.

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

Dedí z iných relácií

Keď spustíte program, automaticky dedí svoje premenné prostredia z nadradeného procesu. Napríklad ak je $ HOME nastavený na / root v rodičovi, potom je premenná $ HOME dieťaťa tiež nastavená na / root.

Ďalšie príkazy

Linux okrem iného prichádza s užitočnými príkazmi a možnosťami, ktoré sa týkajú premenných. Prvé dva sa nazývajú env a printenv. Uvádzajú všetky premenné prostredia.

Obrázok nižšie zobrazuje výstup príkazu env v termináli, ktorý je spustený v relácii X. Obsahuje premenné ako $ XTERM (typ terminálu), $ SHELL (program volaný po prihlásení a ukazuje / bin / bash pre cestu k interpretovi Bash), $ LS_COLORS (farby, ktoré sa používajú na zvýraznenie iného súboru) typy pri volaní ls) a $ DESKTOP_SESSION (súčasné X Desktop Environment).

Tretia a štvrtá z nich sú možnosti príkazu na export - -p a -n. -p je skratka pre tlač a pomocou príkazu declare iba zobrazí všetky exportované premenné v aktuálnom prostredí.

$ export -p
deklarovať -x DESKTOP_SESSION = "xfce"
deklarovať -x DISPLAY = ": 0"
deklarovať -x GLADE_CATALOG_PATH = ":"
deklarovať -x GLADE_MODULE_PATH = ":"
deklarovať -x GLADE_PIXMAP_PATH = ":"
vyhlásiť -x HOME = "/ home / frank"
deklarovať -x LANG = "de_DE.UTF-8 "

Voľba -n sa používa na zrušenie nastavenia premennej prostredia. Nižšie uvedený zoznam to demonštruje pre predtým definovanú premennú BACKUPPATH.

$ export -n BACKUPPATH

Záver

Bash je veľmi šikovné, ale niekedy aj trochu zložité prostredie. Premenné riadia interakciu rôznych nástrojov. Export premenných pomáha pri komunikácii medzi procesmi a je ľahko použiteľný v každodennom živote.

O autoroch

Jacqui Kabeta je environmentalistka, zanietená výskumníčka, trénerka a mentorka. Vo viacerých afrických krajinách pracovala v IT priemysle a v prostredí mimovládnych organizácií.

Frank Hofmann je IT vývojár, tréner a autor a najradšej pracuje z Berlína, Ženevy a Kapského Mesta. Spoluautor knihy Debian Package Management Book, ktorá je k dispozícii na stránke dpmb.org

Odkazy a referencie

Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...
Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...
Hry Top 10 hier, ktoré sa dajú hrať na Ubuntu
Top 10 hier, ktoré sa dajú hrať na Ubuntu
Platforma Windows je jednou z dominujúcich platforiem pre hry kvôli obrovskému percentu hier, ktoré sa dnes vyvíjajú na natívnu podporu systému Window...