Premenné shellu sú dôležité pre bezproblémový chod akéhokoľvek systému Linux. Napríklad vždy, keď spustíte program alebo príkaz, váš systém sa pozrie do premennej PATH, aby skontroloval, či je program prítomný. Znalosť premenných shellu je dôležitá pre každodenné používanie alebo správu systémov Linux.
Význam premenných škrupiny
Premenná shellu je zástupný symbol na ukladanie informácií, ktoré používa váš systém Linux, programy alebo skripty.
V systéme Linux existujú rôzne typy shellov alebo tlmočníkov príkazového riadku, pričom všetky vo veľkej miere využívajú premenné. Niektoré z dôležitých úloh, ktoré hrajú premenné shellu, zahŕňajú:
- Premenné shellu vám umožňujú ukladať a manipulovať s hodnotami v shelli a môžu manipulovať s výsledkami vo výpočtoch alebo iných operáciách.
- Poskytujú spôsob odovzdávania hodnôt medzi skriptami a programami
- Premenné shellu môžete použiť na prispôsobenie správania programov
Premenné škrupiny sú veľmi flexibilné; môžete si vytvoriť aj svoje vlastné premenné, ale tu sú niektoré z predvolených premenných, ktoré sa dodávajú s vaším systémom.
1. PATH
Premenná PATH určuje adresáre, v ktorých by mal systém hľadať spustiteľné súbory, keď zadáte príkaz do terminálu.
Je to premenná prostredia pre celý systém a obsahuje zoznam adresárov oddelených dvojbodkou. V každom adresári sa postupne vyhľadá spustiteľný súbor s rovnakým názvom ako zadaný príkaz.
Napríklad, ak zadáte príkaz ls v termináli systém vyhľadá v adresároch zadaných v premennej PATH pomenovaný príkaz ls. Ak nájde súbor, spustí ho; ak nie, zobrazí sa chybové hlásenie „príkaz nenájdený“.
Premenná PATH je dôležitá, pretože vám umožňuje spúšťať príkazy z ľubovoľného adresára bez toho, aby ste museli zadať úplnú cestu k spustiteľnému súboru. Napríklad, ak máte spustiteľný súbor "ls" v /usr/bin v adresári, môžete príkaz ls spustiť z ľubovoľného adresára jednoduchým napísaním ls, a nie špecifikovať celú cestu, t.j. /usr/bin/ls.
Aktuálnu hodnotu premennej PATH môžete zobraziť spustením príkazu echo takto:
ozvena $PATH
Hodnotu premennej PATH môžete upraviť aj pridaním alebo odstránením adresárov zo zoznamu. To môže byť užitočné, ak chcete pridať adresár obsahujúci vaše vlastné spustiteľné súbory alebo vlastné skripty, alebo ak chcete upraviť adresáre, ktoré sa vyhľadávajú pri spúšťaní príkazov.
2. DOMOV
V systéme Linux je premenná HOME premenná prostredia, ktorá určuje cestu k domovskému adresáru používateľa. Prečo je to také dôležité? Linux je operačný systém pre viacerých používateľov a domovský priečinok je špeciálny adresár vo vašom systéme spojený s každým používateľom.
Domovský adresár sa zvyčajne používa na ukladanie osobných súborov používateľa, ako sú dokumenty, obrázky, hudba atď.
Premenná HOME sa zvyčajne nastavuje automaticky pri prihlásení a používa ju veľa programov a skriptov na nájdenie domovského adresára používateľa. Napríklad, keď spustíte príkaz cd bez akýchkoľvek argumentov, použije premennú HOME na navigáciu do domovského adresára používateľa.
Mnoho programov používa premennú HOME na ukladanie konfiguračných súborov alebo iných údajov do domovského adresára používateľa. Aktuálnu hodnotu premennej HOME môžete zobraziť spustením echo $HOME príkaz.
3. USER
Premenná USER určuje užívateľské meno aktuálne prihláseného užívateľa. Nastavuje sa automaticky pri prihlásení a bežne ho používajú programy a skripty na určenie používateľského mena aktuálneho používateľa.
Premenná USER sa často používa v skriptoch na prispôsobenie správania programu na základe aktuálneho používateľa. Skript môže napríklad skontrolovať hodnotu premennej USER a vykonať určité akcie iba vtedy, ak má aktuálny používateľ privilégiá root alebo sudo.
Premennú môžete použiť aj na spustenie určitých všeobecných príkazov. Napríklad pri pridávaní používateľa do skupiny dockerov môžete namiesto zadávania skutočného používateľského mena jednoducho spustiť nasledujúci príkaz:
sudo usermod -aG docker $USER
4. SHELL
Shell je program, ktorý poskytuje rozhranie príkazového riadka (CLI) na interakciu s operačným systémom.
Väčšina systémov Linux používa Bourne Again Shell (Bash) ako predvolený, ale existuje veľa alternatív. C shell (csh), Z shell (Zsh), ryby atď.
Premenná SHELL určuje cestu k predvolenému shellu používateľa. Nastaví sa automaticky pri prihlásení.
Ďalej sa premenná používa v skriptoch na prispôsobenie správania programov na základe predvoleného shellu používateľa. Skript môže napríklad skontrolovať hodnotu premennej SHELL a použiť inú syntax alebo voľby v závislosti od použitého shellu.
Aktuálnu hodnotu premennej SHELL môžete zobraziť spustením príkazu echo $SHELL. Môžete sa zmeniť váš predvolený shell pomocou príkazu chsh.
5. OZP
Ďalšia dôležitá premenná prostredia v systéme Linux, PWD ukladá váš aktuálny pracovný adresár. Na rozdiel od väčšiny premenných prostredia, ktoré sú väčšinou statické, táto je aktualizovaná shellom kedykoľvek zmeniť adresáre pomocou príkazu cd.
Premennú PWD môžete použiť vo svojich skriptoch shellu na jednoduchý odkaz na aktuálny pracovný adresár. Hodnota premennej je podobná tej, ktorú získate pri spustení príkazu pwd.
6. MENO HOSŤA
Názov hostiteľa alebo názov zariadenia je jedinečný názov používaný na identifikáciu vášho počítača v sieti. Napríklad, keď chcete SSH do počítača, môžete jednoducho použiť názov hostiteľa namiesto IP adresy.
Premenná HOSTNAME je premenná prostredia, ktorá jednoducho špecifikuje názov hostiteľa systému. Nastavuje sa automaticky pri zavádzaní systému a zvyčajne sa používa na identifikáciu systému, keď je pripojený k sieti. Existuje niekoľko spôsobov, ako si môže zmeniť názov hostiteľa v systéme Linux.
Premennú HOSTNAME používajú aj programy a skripty na identifikáciu systému a prispôsobenie jeho správania na základe názvu hostiteľa. Skript zvyčajne skontroluje hodnotu premennej HOSTNAME a vykoná určité akcie iba vtedy, ak je systém špecifickým hostiteľom.
Vytvorenie vlastnej premennej v systéme Linux
Okrem predvolených premenných Linuxu, ktoré sa automaticky nastavia za vás. Môžete tiež definovať svoje vlastné premenné shellu pomocou príkazu export. Ak chcete vytvoriť novú premennú s názvom GREETING s hodnotou „Hello World“, môžete použiť nasledujúci príkaz:
export POZDRAV="Ahoj svet"
Potom môžete použiť premennú GREETING vo svojich skriptoch alebo v príkazovom riadku rovnako ako akúkoľvek inú premennú prostredia.