GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit a vypsat proměnné prostředí v Linuxu

V Linuxu jsou proměnné prostředí dynamické pojmenované hodnoty, které fungují jako zástupný symbol pro uložené informace v systému používaném aplikacemi příkazového řádku. Stejně jako každá jiná proměnná se skládá ze dvou částí – názvu a přidružené hodnoty.

Zde je rychlý pohled na formátování proměnných:

KEY=value
KEY="this is also a value"
KEY=valueA:valueB

Několik poznámek:

  • Před ani za symbolem „=“ by neměla být mezera.
  • Pokud hodnoty obsahují mezery, použijí se uvozovky.
  • Proměnné můžete přiřadit více hodnot. Každá hodnota musí být oddělena dvojtečkou (:).
  • V názvech proměnných se rozlišují velká a malá písmena. Jako takové „KEY“ a „key“ označují dvě různé proměnné. Podle konvence by proměnná prostředí měla být psána VELKÁ PÍSMENA.

Pomocí proměnných prostředí můžete potenciálně přizpůsobit, jak váš systém funguje, včetně chování aplikací nainstalovaných ve vašem systému.

Proměnné prostředí můžete například použít k uložení informací o výchozích aplikacích, jako je textový editor, prohlížeč, nebo dokonce cesta ke spustitelnému souboru. To vám umožní upravit systém podle vašich osobních potřeb nebo potřeb skupiny uživatelů.

Nyní jsme pro toto čtení sestavili podrobný návod, jak nastavit a vypsat proměnné prostředí na vašem počítači se systémem Linux. To vám poskytne funkční porozumění používání proměnných prostředí k personalizaci vašeho systému.

Takže bez dalších okolků můžeme začít:

Jaký je rozdíl mezi proměnnými prostředí a proměnnými prostředí?

Než začneme, pojďme nejprve pochopit rozdíly mezi proměnnou prostředí a proměnnou prostředí.

Jednoduše řečeno, „proměnná prostředí“ je globálně dostupná a je zděděna všemi vytvořenými podřízenými procesy nebo shelly.

Na druhou stranu proměnné prostředí jsou proměnné, které se vztahují pouze na aktuální instanci prostředí. Bash, zsh a všechny ostatní shelly mají vlastní sadu interních proměnných shellu. Ty se obecně používají ke sledování dočasně relevantních dat, jako je aktuální pracovní adresář.

Nyní můžete zpřístupnit proměnnou prostředí jako proměnnou prostředí. Vše, co musíte udělat, je použít příkaz „export“ spolu s názvem proměnné. Tím se jeho hodnota exportuje globálně, takže je nyní mohou používat nové programy a podshelly.

Zde je příklad, jak se to dělá:

Tomu se budeme věnovat více do hloubky v následující části.

Jak vypsat a nastavit proměnné prostředí

K dispozici je spousta příkazů, které vám pomohou vypsat a nastavit proměnné. Zde je rychlý pohled na některé z nejběžnějších příkazů, které budeme v tomto tutoriálu používat:

  • exportovat :používá se k exportu hodnoty nově přiřazené proměnné prostředí.
  • env :používá se ke spuštění jiného programu ve vlastním prostředí, aniž by bylo nutné upravovat aktuální. Lze jej použít s argumentem k vytištění seznamu všech aktuálních proměnných prostředí v shellu.
  • printenv :používá se k tisku všech (nebo specifikovaných) proměnných prostředí a definic aktuálního prostředí.
  • nastavit :používá se k přiřazení nebo definování proměnné prostředí nebo prostředí. Pokud se použije bez argumentu, vypíše seznam všech proměnných – to zahrnuje proměnné prostředí, proměnné prostředí a funkce prostředí.
  • nenastaveno :používá se k odstranění zadaného prostředí nebo proměnné prostředí.

Pomocí těchto příkazů budete moci vypsat a nastavit proměnné prostředí ve vašem systému Linux.

Výpis proměnných prostředí

Nejběžnějším příkazem používaným k zobrazení proměnných prostředí je „printenv“.

Pokud jako argument příkazu použijete název proměnné, zobrazí se hodnota proměnné. Pokud se však použije bez argumentu, zobrazí seznam všech proměnných prostředí v systému.

Zde je několik příkladů:

řekněme, že chcete vidět hodnotu proměnné prostředí „HOME“. Chcete-li to provést, musíte spustit následující příkaz:

$ printenv HOME

Tím získáte cestu aktuálně přihlášeného uživatele:

Můžete také předat dva nebo více argumentů příkazem „printenv“ následovně:

$ printenv PWD LANG

Získáte podobnou výstupní obrazovku:

Pokud nyní spustíte „printenv“ bez argumentu, zobrazí se seznam všech proměnných prostředí.

Nyní příkazy printenv a env zobrazují pouze proměnné prostředí. Ale co když chcete vypsat všechny proměnné ve vašem systému? To zahrnuje vše počínaje proměnnými prostředí až po proměnné prostředí a dokonce i funkce prostředí.

Pak můžete použít příkaz „set“ bez jakéhokoli argumentu:

Jak můžete vidět na obrázku, příkaz zobrazí velký podrobný seznam všech proměnných. Pokud chcete výstup zredukovat, můžete místo toho použít tento příkaz:

$ set | less

Kromě toho všeho můžete také použít příkaz echo, pokud chcete vytisknout hodnoty proměnných shellu. Stačí zadat echo a předat příslušnou proměnnou shellu jako argument. Zde je příklad použití s ​​proměnnou BASH_VERSION.

Abychom vám pomohli experimentovat s těmito příkazy ve vašem systému, zde je seznam některých z nejvíce příkazových proměnných prostředí.

  • EDITOR – Výchozí editor souborů, který se použije při psaní do editoru v terminálu.
  • DOMŮ – Domovský adresář aktuálního uživatele.
  • LANG – Aktuální nastavení národního prostředí.
  • LOGNAME – Jméno aktuálního uživatele.
  • LS_COLORS – Definuje všechny barevné kódy použité k přidání volitelného barevného výstupu do příkazu ls. Tyto barvy se používají k rozlišení mezi různými typy souborů a díky tomu je výstup snadněji stravitelný.
  • MAIL – Umístění, kde jsou uloženy e-maily aktuálního uživatele.
  • PATH – Seznam adresářů, které se mají prohledávat při provádění příkazů. Když spustíte příkaz, systém prohledá tyto adresáře v uvedeném pořadí a použije první nalezený spustitelný soubor.
  • PWD – Umístění aktuálního pracovního adresáře.
  • OLDPWD – Umístění předchozího pracovního adresáře.
  • SHELL – Cesta k shellu aktuálního uživatele, např. bash nebo zsh.
  • TERMÍN – Aktuální emulace terminálu.
  • UŽIVATEL – Aktuální přihlášený uživatel.

Nyní si promluvme o tom, jak nastavit proměnné prostředí.

Nastavení proměnných prostředí

Běžnou praxí při vytváření proměnné prostředí je vytvořit proměnnou prostředí a poté ji exportovat jako proměnnou prostředí.

Nyní k vytvoření nové proměnné shellu použijeme následující příkaz:

MY_VAR=FOSSLinux

Nyní můžete použít příkaz echo k ověření, zda je proměnná nastavena na zadanou hodnotu.

$ echo $MY_VAR

Podobně použijte printenv ke zjištění, zda je proměnná proměnná prostředí. Pokud ne, dostanete prázdný výstup.

$ printenv MY_VAR

Také zkontrolujte, zda je proměnná zděděna sub-shell pomocí následujícího příkazu:

$ bash -c 'echo $MY_VAR'

I zde získáte prázdný výstup, jak je znázorněno na obrázku níže:

Nyní, když jsme nastavili proměnnou shellu MY_VAR a ověřili ji, můžeme ji pomocí příkazu export nastavit jako proměnnou prostředí.

$ export MY_VAR

Po dokončení můžete pomocí předchozích příkazů zjistit, zda je uvedena jako proměnná prostředí, a zjistit, zda je zděděna sub-shell.

Můžete také nastavit proměnnou prostředí pomocí jednoho řádku, jak je znázorněno níže:

$ export NEW_VAR="This is a new variable"

Pamatujte však, že proměnné prostředí vytvořené tímto způsobem jsou dostupné pouze pro aktuální relaci. Jakmile se odhlásíte nebo otevřete nový shell, proměnná prostředí bude ztracena.

Trvalé a neperzistentní proměnné prostředí

Jak bylo uvedeno dříve, když změníte proměnné prostředí ve vašem aktuálním shellu, budou ztraceny, jakmile se odhlásíte ze shellu. Toto se nazývá neperzistentní proměnné prostředí.

Aby byly trvalé nebo jinými slovy trvalé, budete muset upravit konfigurační soubory bash.

Když zahájíte novou relaci, všechny proměnné prostředí se načtou z následujících souborů. Jako takové můžete do těchto souborů přidat proměnné prostředí, aby byly trvalé.

  • /etc/environment :Tento soubor obsahuje všechny systémové proměnné prostředí. Nové proměnné můžete přidat v následujícím formátu:
$FOO=bar
$MY_VAR=FOSSLinux
  • /etc/profile :Tento soubor obsahuje sady proměnných, které se načtou při zadání přihlašovacího shellu bash. V tomto souboru můžete deklarovat proměnnou prostředí pomocí příkazu export.
$ export JAVA_HOME="/path/to/java/home"
$ export PATH=$PATH:$JAVA_HOME/bin
  • Můžete také nastavit soubory prostředí v konfiguračních souborech specifických pro jednotlivé uživatele. Pokud například používáte Bash, můžete deklarovat proměnnou uvnitř ~/.bashrc pomocí následujícího příkazu:
$ export PATH="$HOME/bin:$PATH"

Chcete-li načíst novou proměnnou prostředí v aktuální relaci shellu, budete muset použít příkaz source následovně:

$ source ~/.bashrc

Jakmile projdete těmito kroky, všechny proměnné prostředí, které jste právě přidali, se stanou trvalými a zůstanou nedotčené, i když se odhlásíte ze shellu.

Závěr

Toto byl náš podrobný průvodce, jak vypsat a nastavit proměnné prostředí v Linuxu. Doufáme, že vám to bylo užitečné a poučné. V případě, že máte nějaké dotazy nebo narazíte na nějaké problémy, zanechte nám komentář a my se vám ozveme s rychlou odpovědí.

Pokud začínáte s Linuxem, můžete navštívit naši sérii Learn Linux, kde poskytujeme podrobné návody a průvodce, které budou přínosem pro začátečníky i zkušené uživatele Linuxu.


Linux
  1. Jak nastavit a zrušit místní, uživatelské a systémové proměnné prostředí v Linuxu

  2. Jak spravovat a vypisovat služby v Linuxu

  3. Jak nastavit proměnné prostředí Linuxu pomocí Ansible

  1. Proměnné prostředí Linux:Jak číst a nastavovat na Linux VPS

  2. Jak nastavit/vytvořit proměnné prostředí a prostředí v Linuxu

  3. Jak vytisknout zjevně skryté proměnné prostředí?

  1. Jak nastavit, vypsat a odebrat proměnné prostředí v Linuxu

  2. Příklady exportních příkazů pro Linux (jak nastavit proměnné prostředí)

  3. Proměnné uživatelského prostředí S „su“ a „sudo“ v Linuxu