GNU/Linux >> Znalost Linux >  >> Linux

Proměnné prostředí Linux

Úvod

Prostředí je oblast, která obsahuje informace o chování různých programů a aplikací. Proměnné prostředí Linuxu používají aplikace k získání informací o prostředí.

Prostředí se konfiguruje pokaždé, když je vytvořena nová relace prostředí. Změna proměnných prostředí Linux pomáhá uživateli ovládat, jak interagují s programy prostřednictvím shellu, jaké výchozí hodnoty se používají pro vzhled okna shellu, typ použitého shellu, výchozí domovský adresář atd.

Soubor proměnných prostředí Linux

Informace potřebné pro nastavení prostředí se získávají prostřednictvím různých souborů prostřednictvím procesu známého jako inicializace. Operační systém provádí tento proces čtením z /etc/profile a .profile soubory.

Soubor /etc/profile je pod správou Linuxu a obsahuje základní informace, které uživatel nemůže upravovat. Soubor .profile je plně pod kontrolou uživatele a lze jej použít k úpravě prostředí.

Pokud používáte bash shell, uživatelské proměnné prostředí lze vytvořit v souborech .bash_profile a .bashrc.

Pokud tyto soubory neexistují, operační systém pokračuje ve vytváření prostředí a nezobrazuje žádnou chybu.

Terminál vyzve uživatele k zadání (označeno $ sign) po nastavení prostředí.

Proměnné prostředí Linux

Toto jsou páry název/hodnota.

Proměnné prostředí lze ovládat pomocí následujících 5 hlavních příkazů.

  1. printenv
  2. env
  3. nastavit
  4. exportovat
  5. zrušeno

Pojďme se na každý z těchto příkazů podívat jeden po druhém.

  1. printenv lze použít k vytištění hodnoty proměnné prostředí. Pokud není zadán žádný klíč, vytisknou se všechny páry název-hodnota jako výstup. Patří sem pouze proměnné s globálním rozsahem.

    Příklad příkazu printenv

    Proměnné prostředí Linux jsou podle konvence definovány velkými písmeny.

  2. env také vypíše páry název-hodnota jako printenv . Tento příkaz také vytiskne pouze proměnné s globálním rozsahem. Nelze jej však použít k tisku konkrétních hodnot proměnných prostředí.
  3. set se používá k tisku proměnných shellu, proměnných prostředí, lokálních proměnných a funkcí shellu. Patří mezi ně proměnné s lokálním i globálním rozsahem.

    příklad příkazu set

  4. export se používá k vytvoření nových proměnných prostředí, které přetrvávají i po uzavření relace shellu.
  5. unset se používá k odvázání nebo odstranění proměnné prostředí.

Některé důležité předdefinované proměnné prostředí

  • JAZYK: Obsahuje aktuální systémový jazyk.
  • USERNAME: Obsahuje uživatelské jméno aktuálního uživatele.
  • PWD: Obsahuje cestu k aktuálnímu adresáři.
  • CESTA: Obsahuje dvojtečkou oddělený seznam adresářů, ve kterých systém hledá spustitelné soubory.
  • DOMŮ: Obsahuje cestu k domovskému adresáři.
  • SHELL: Obsahuje cestu k preferovanému prostředí uživatele.
  • REDAKTOR: Obsahuje příkaz ke spuštění odlehčeného editoru. Např.:/usr/bin/nano
  • VIZUÁLNÍ: Obsahuje příkaz ke spuštění editoru používaného pro náročné editační úlohy. Např.:Vi (Vim)
  • PROHLÍŽEČ: Obsahuje příkaz ke spuštění výchozího webového prohlížeče.

Operace s proměnnými prostředí

Podívejme se na některé běžné operace s proměnnými prostředí v Linuxu.

1. Vytváření nových proměnných prostředí

Nové proměnné lze jednoduše vytvořit zadáním nového názvu proměnné a přiřazením hodnoty v "" , oddělené = podepsat.

Mezi = nesmí být žádné mezery a název/hodnota proměnné. Jinak terminál vrátí chybu.

Jakmile je proměnná vytvořena, její hodnoty se zobrazí pomocí echo příkaz.

příklad nové proměnné env

A $ znaménko musí před názvem proměnné při zobrazení hodnoty pomocí echo, jak je znázorněno v příkladu výše. Při vytváření nové proměnné to však není vyžadováno.

Nyní, když jsme vytvořili novou proměnnou prostředí, zkusme ji najít v seznamu proměnných zobrazených v printenv příkaz a vytiskne jeho hodnotu.

To lze provést pomocí příkazu grep.

Příklad proměnné grep env

Není zobrazen žádný výstup. Je to proto, že i když jsme definovali novou proměnnou prostředí, musíme ji ještě „exportovat“ do souboru obsahujícího názvy všech proměnných.

Export umožňuje, aby byla proměnná přístupná jiným programům a podshellům.

Toho je dosaženo pomocí export příkaz, o kterém jsme hovořili v minulé sekci.

$ export [VARIABLE_NAME] 

příklad příkazu export

Nyní je zobrazena hodnota proměnné. Lze k němu dokonce přistupovat v novém subshell.

příklad exportu subshell

Subshell můžeme opustit zadáním exit příkaz. To nás přivádí zpět k původnímu shellu.

2. Změna hodnot existujících proměnných

Stávající proměnné lze upravit tak, že jim jednoduše přiřadíte novou hodnotu. Změny provedené můžeme vidět vytištěním hodnoty proměnné pomocí echo .

změna hodnoty proměnné env

3. Odebrání proměnných prostředí

unset příkaz se používá k odstranění existujících proměnných prostředí.

$ unset [VARIABLE_NAME] 

příklad příkazu unset

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

Všechny proměnné prostředí, kterými jsme se dosud zabývali, byly neperzistentní proměnné. Změny provedené v nich trvají pouze do doby, než je aktuální shell aktivní, a neovlivňují nová okna shellu. Jakmile je aktuální relace uzavřena, všechny změny provedené v proměnných – vytvořené nebo upravené, budou ztraceny.

Abychom zachovali změny prostřednictvím nových relací a oken, můžeme vytvořit trvalé proměnné prostředí. Ty se vytvářejí definováním proměnných v souboru proměnných prostředí v domovském adresáři – .profile, .bash_profile a .bashrc.

Můžeme otevřít .bashrc soubor pomocí nano nebo vim .

přístup k souboru .bashrc

Definujte novou proměnnou kdekoli uvnitř .bashrc pomocí export příkaz. Uložte změny a ukončete soubor.

definování proměnné env v .bashrc

Zavřete aktuální relaci terminálu a otevřete novou.

Nyní vytiskněte právě vytvořenou proměnnou prostředí pomocí echo příkaz.

příklad trvalého výstupu proměnné env

Vidíme, že proměnná přetrvává i po vytvoření nové terminálové relace a uzavření předchozí.

Závěr

Proměnné prostředí jsou velmi důležité a užitečné. Mohou upravit fungování programů a usnadnit uživateli interakci s nimi. Stávající proměnné lze snadno upravit podle potřeb uživatele. Navíc lze snadno vytvářet nové proměnné. Proměnné prostředí mohou změnit způsob, jakým uživatel komunikuje s shellem, a dokonce zrychlit přístup k určitým programům.


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

  2. C# v prostředí linuxu

  3. Kontrola proměnných prostředí

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

  2. Linux Mint – trvalé přidávání proměnných prostředí

  3. Jsou proměnné prostředí viditelné pro neprivilegované uživatele v systému Linux?

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

  2. Linux – Jsou proměnné prostředí viditelné pro neprivilegované uživatele na Linuxu?

  3. Odkazování na proměnné prostředí *v* /etc/environment?