Úvod
Pokaždé, když spustíte shellovou relaci v Linuxu, systém projde konfigurační soubory a podle toho nastaví prostředí. Proměnné prostředí hrají v tomto procesu významnou roli.
V tomto kurzu se dozvíte, jak nastavit, zobrazit a zrušit nastavení proměnných prostředí v systému Linux.
Předpoklady
- Jakákoli distribuce Linuxu (Debian, Ubuntu, RHEL, CentOS…)
- Přístup k příkazovému řádku
- Oprávnění sudo
Co jsou proměnné prostředí:Definice
Proměnné prostředí jsou proměnné, které obsahují hodnoty nezbytné k nastavení prostředí shellu. Na rozdíl od proměnných prostředí zůstávají proměnné prostředí v podřízených procesech prostředí.
Strukturálně jsou proměnné prostředí a shellu stejné – obě jsou párem klíč–hodnota, oddělené rovnítkem.
VARIABLE_NAME=value Pokud má proměnná více než jednu hodnotu, oddělte je středníkem:
VARIABLE_NAME=value_1:value_2 Proměnné, které obsahují mezery, se píší do uvozovek:
VARIABLE_NAME="Value text" Nejběžnější proměnné prostředí
Zde jsou některé proměnné prostředí, se kterými se může průměrný uživatel setkat:
PWD– Aktuální pracovní adresář.HOME– Umístění domovského adresáře uživatele.SHELL– Aktuální shell (bash, zsh atd.).LOGNAME– Jméno uživatele.UID– Jedinečný identifikátor uživatele.HOSTNAME– Název hostitele zařízení v síti.MAIL– Adresář pošty uživatele.EDITOR– Výchozí textový editor systému Linux.TEMP– Umístění adresáře pro dočasné soubory.
Jak zkontrolovat proměnné prostředí
Zobrazit všechny proměnné prostředí
Použijte printenv příkaz k zobrazení všech proměnných prostředí. Protože je v seznamu mnoho proměnných, použijte less příkaz pro ovládání zobrazení:
printenv | less Výstup zobrazí první stránku seznamu a poté vám umožní přejít dále stisknutím Mezerníka pro zobrazení další stránky nebo Enter pro zobrazení dalšího řádku:
Zobrazení ukončíte stisknutím Q .
Vyhledat jednu proměnnou prostředí
Chcete-li zkontrolovat hodnotu jedné proměnné prostředí, použijte následující příkaz:
printenv VARIABLE NAME
HOME proměnná hodnota je cesta domovské složky:
Případně zobrazte hodnotu proměnné pomocí echo příkaz. Syntaxe je:
echo $[VARIABLE_NAME] Hledejte specifické proměnné prostředí
Chcete-li najít všechny proměnné obsahující určitý řetězec znaků, použijte příkaz grep:
printenv | grep [VARIABLE_NAME]
Výstup vyhledávání pro USER proměnná zobrazuje následující řádky:
Dalším příkazem, který můžete použít ke kontrole proměnných prostředí, je set . Tento příkaz však bude obsahovat také lokální proměnné, stejně jako proměnné shellu a funkce shellu.
Najděte v seznamu proměnnou prostředí, která obsahuje všechny proměnné a funkce prostředí pomocí set | grep :
set | grep [VARIABLE_NAME] Nastavte proměnnou prostředí v Linuxu
Nejjednodušší způsob, jak nastavit proměnnou pomocí příkazového řádku, je napsat její název následovaný hodnotou:
[VARIABLE_NAME]=[variable_value]
1. Jako příklad vytvořte proměnnou s názvem EXAMPLE s textovou hodnotou. Pokud zadáte příkaz správně, shell neposkytuje žádný výstup.
2. Sada set | grep příkaz potvrdí vytvoření proměnné. Nicméně printenv nevrací žádný výstup.
Je to proto, že takto vytvořená proměnná je proměnná shellu.
3. Dalším způsobem, jak to potvrdit, je zadat bash a spusťte relaci podřízeného prostředí. Pomocí echo příkaz k vyhledání EXAMPLE proměnná nyní nevrací žádný výstup:
Jak exportovat proměnnou prostředí
1. Pokud chcete změnit proměnnou prostředí na proměnnou prostředí, vraťte se do nadřazeného prostředí a export pomocí příkazu export:
export [VARIABLE_NAME]
2. Použijte printenv pro potvrzení úspěšného exportu:
3. Pokud nyní otevřete relaci podřízeného prostředí, echo vrátí hodnotu proměnné prostředí:
Proměnná prostředí vytvořená tímto způsobem zmizí po ukončení aktuální relace shellu.
Nastavit proměnnou prostředí v Linuxu trvale
Pokud si přejete, aby proměnná přetrvávala i po zavření shellové relace, musíte ji trvale nastavit jako proměnnou prostředí. Můžete si vybrat mezi nastavením pro aktuálního uživatele nebo pro všechny uživatele.
1. Chcete-li nastavit trvalé proměnné prostředí pro jednoho uživatele, upravte soubor .bashrc soubor:
sudo nano ~/.bashrc 2. Napište řádek pro každou proměnnou, kterou chcete přidat, pomocí následující syntaxe:
export [VARIABLE_NAME]=[variable_value]
3. Uložte a ukončete soubor. Změny se použijí po restartování prostředí. Pokud chcete změny použít během aktuální relace, použijte příkaz source:
source ~/.bashrc
4. Chcete-li nastavit trvalé proměnné prostředí pro všechny uživatele, vytvořte .sh soubor v /etc/profile.d složka:
sudo nano /etc/profile.d/[filename].sh
5. Syntaxe pro přidání proměnných do souboru je stejná jako u .bashrc :
6. Uložte a ukončete soubor. Změny se projeví při příštím přihlášení.
Jak zrušit nastavení proměnné prostředí
Chcete-li zrušit nastavení proměnné prostředí, použijte unset příkaz:
unset [VARIABLE_NAME] Tento příkaz trvale odstraní proměnné exportované pomocí příkazu terminálu.
Proměnné uložené v konfiguračních souborech jsou také odstraněny z aktuální relace shellu. Při příštím přihlášení se však znovu nastaví.
Chcete-li trvale zrušit nastavení proměnné, kterou jste uložili do souboru, přejděte do souboru a odstraňte řádek obsahující definici proměnné.