GNU/Linux >> Znalost Linux >  >> Linux

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

Proměnné prostředí jsou některé speciální proměnné, které jsou definovány v shellu a které programy potřebují při provádění. Mohou být definované systémem nebo uživatelem. Systémově definované proměnné jsou ty, které jsou nastaveny systémem a jsou používány programy na systémové úrovni.

Pro např. Příkaz PWD je velmi běžná systémová proměnná, která se používá k uložení aktuálního pracovního adresáře. Uživatelem definované proměnné jsou obvykle nastaveny uživatelem, buď dočasně pro aktuální shell, nebo trvale. Celý koncept nastavení a zrušení nastavení proměnných prostředí se točí kolem nějaké sady souborů a několika příkazů a různých shellů.

V širším pojetí může být proměnná prostředí tří typů:

1. Místní proměnná prostředí

Jeden definovaný pro aktuální relaci. Tyto proměnné prostředí trvají pouze do aktuální relace, ať už jde o relaci vzdáleného přihlášení nebo relaci místního terminálu. Tyto proměnné nejsou specifikovány v žádném konfiguračním souboru a jsou vytvářeny a odstraňovány pomocí speciální sady příkazů.

2. Proměnná uživatelského prostředí

Toto jsou proměnné, které jsou definovány pro konkrétního uživatele a jsou načteny pokaždé, když se uživatel přihlásí pomocí relace místního terminálu nebo když je tento uživatel přihlášen pomocí relace vzdáleného přihlášení. Tyto proměnné jsou obvykle nastaveny a načteny z následujících konfiguračních souborů:.bashrc , .bash_profile , .bash_login , .profil soubory, které se nacházejí v domovském adresáři uživatele.

3. Systémové proměnné prostředí

Toto jsou proměnné prostředí, které jsou dostupné v celém systému, tj. pro všechny uživatele přítomné v tomto systému. Tyto proměnné jsou přítomny v konfiguračních souborech celého systému v následujících adresářích a souborech:/etc/environment , /etc/profile , /etc/profile.d/ , /etc/bash.bashrc . Tyto proměnné se načtou pokaždé, když je systém zapnut a přihlášen buď lokálně nebo vzdáleně kterýmkoli uživatelem.

Porozumění uživatelským a systémovým konfiguračním souborům

Zde stručně popíšeme různé výše uvedené konfigurační soubory, které obsahují proměnné prostředí, ať už pro celý systém nebo pro uživatele.

.bashrc

Tento soubor je soubor specifický pro uživatele, který se načte pokaždé, když uživatel vytvoří novou místní relaci, tj. jednoduše řečeno otevře nový terminál. Všechny proměnné prostředí vytvořené v tomto souboru se projeví při každém spuštění nové lokální relace.

.bash_profile

Tento soubor je souborem vzdáleného přihlášení specifického pro uživatele. Proměnné prostředí uvedené v tomto souboru jsou vyvolány pokaždé, když se uživatel přihlásí vzdáleně, tj. pomocí relace ssh. Pokud tento soubor není přítomen, systém hledá buď .bash_login nebo .profile soubory.

/etc/environment

Tento soubor je systémový soubor pro vytváření, úpravu nebo odstraňování jakýchkoli proměnných prostředí. Proměnné prostředí vytvořené v tomto souboru jsou přístupné v celém systému, každému uživateli, lokálně i vzdáleně.

/etc/bash.bashrc

Celý systém bashrc soubor. Tento soubor je načten jednou pro každého uživatele, pokaždé, když tento uživatel otevře relaci místního terminálu. Proměnné prostředí vytvořené v tomto souboru jsou přístupné všem uživatelům, ale pouze prostřednictvím relace místního terminálu. Když se k jakémukoli uživateli na tomto počítači přistupuje vzdáleně prostřednictvím relace vzdáleného přihlášení, tyto proměnné nebudou viditelné.

/etc/profile

Soubor profilu celého systému. Všechny proměnné vytvořené v tomto souboru jsou přístupné každému uživateli v systému, ale pouze v případě, že je relace tohoto uživatele vyvolána vzdáleně, tedy prostřednictvím vzdáleného přihlášení. Žádná proměnná v tomto souboru nebude přístupná pro relaci místního přihlášení, tj. když uživatel otevře nový terminál na svém místním systému.

Poznámka :Proměnné prostředí vytvořené pomocí celého systému nebo pro uživatele konfigurační soubory lze odstranit pouze jejich odstraněním z těchto souborů. Po každé změně v těchto souborech se buď odhlaste a znovu přihlaste, nebo jednoduše zadejte následující příkaz na terminálu, aby se změny projevily:

$ source <file-name>

Nastavení nebo zrušení nastavení místních proměnných prostředí nebo proměnných prostředí pro celou relaci v systému Linux

Proměnné místního prostředí lze vytvořit pomocí následujících příkazů:

$ var=value 
OR
$ export var=value

Tyto proměnné se týkají celé relace a jsou platné pouze pro aktuální relaci terminálu. K vymazání těchto proměnných prostředí pro celou relaci lze použít následující příkazy:

1. Pomocí env

Ve výchozím nastavení "env" příkaz vypíše všechny aktuální proměnné prostředí. Ale pokud se použije s '-i' přepínač, dočasně vymaže všechny proměnné prostředí a umožní uživateli provést příkaz v aktuální relaci v nepřítomnosti všech proměnných prostředí.

$ env –i [Var=Value]… command args…

Zde var=value odpovídá jakékoli místní proměnné prostředí, kterou chcete použít pouze s tímto příkazem.

$ env –i bash

Poskytne bash shell, který by dočasně neměl žádnou z proměnných prostředí. Ale jakmile opustíte shell, všechny proměnné budou obnoveny.

2. Pomocí unset

Dalším způsobem, jak vymazat místní proměnnou prostředí, je použití příkazu unset. Chcete-li dočasně zrušit nastavení jakékoli místní proměnné prostředí,

$ unset <var-name>

Kde, var-name je název lokální proměnné, kterou chcete zrušit nebo vymazat.

3. Nastavte název proměnné na ”

Dalším méně obvyklým způsobem by bylo nastavit název proměnné, kterou chcete vymazat, na '' (Prázdný). Tím by se vymazala hodnota lokální proměnné pro aktuální relaci, pro kterou je aktivní.

POZNÁMKA – MŮŽETE SI DOKONCE HRÁT A MĚNIT HODNOTY PROMĚNNÝCH SYSTÉMU NEBO UŽIVATELSKÉHO PROSTŘEDÍ, ALE ZMĚNY SE ODRAZÍ POUZE V SOUČASNÉ TERMINÁLOVÉ RELACI A NEBUDOU TRVALÉ.

Zjistěte, jak v Linuxu vytvářet uživatelské a systémové proměnné prostředí

V této části se naučíme, jak nastavit nebo zrušit nastavení lokálních, uživatelských a systémových proměnných prostředí v Linuxu s níže uvedenými příklady:

1. Nastavení a zrušení nastavení místních proměnných v Linuxu

a.) Zde vytvoříme lokální proměnnou VAR1 a nastavte ji na libovolnou hodnotu. Potom použijeme unset k odstranění této lokální proměnné a na konci je tato proměnná odstraněna.

$ VAR1='TecMint is best Site for Linux Articles'
$ echo $VAR1
$ unset VAR1
$ echo $VAR1

b.) Dalším způsobem vytvoření lokální proměnné je použití export příkaz. Vytvořená lokální proměnná bude dostupná pro aktuální relaci. Chcete-li zrušit nastavení proměnné, jednoduše nastavte hodnotu proměnné na '' .

$ export VAR='TecMint is best Site for Linux Articles'
$ echo $VAR
$ VAR=
$ echo $VAR

c.) Zde jsme vytvořili lokální proměnnou VAR2 a nastavte ji na hodnotu. Poté, abychom mohli spustit příkaz dočasně vymazat všechny místní a další proměnné prostředí, provedli jsme 'env –i' příkaz. Tento příkaz zde provedl bash shell vymazáním všech ostatních proměnných prostředí. Po zadání 'exit' na vyvolaném bash shellu by byly všechny proměnné obnoveny.

$ VAR2='TecMint is best Site for Linux Articles'
$ echo $VAR2
$ env -i bash
$ echo $VAR2   

2. Nastavení a zrušení nastavení proměnných uživatelského prostředí v Linuxu

a.) Upravte .bashrc soubor ve vašem domovském adresáři exportovat nebo nastavit proměnnou prostředí, kterou potřebujete přidat. Poté zdroj souboru, aby se změny projevily. Pak byste viděli proměnnou ('CD' v mém případě), vstoupí v platnost. Tato proměnná bude k dispozici pokaždé, když otevřete nový terminál pro tohoto uživatele, ale ne pro relace vzdáleného přihlášení.

$ vi .bashrc

Přidejte následující řádek do .bashrc soubor dole.

export CD='This is TecMint Home'

Nyní spusťte následující příkaz, abyste provedli nové změny a otestovali jej.

$ source .bashrc 
$ echo $CD

Chcete-li tuto proměnnou odstranit, stačí odstranit následující řádek v .bashrc soubor a jeho zdroj:

b.) Chcete-li přidat proměnnou, která bude dostupná pro relace vzdáleného přihlášení (tj. když ssh uživateli ze vzdáleného systému), upravte .bash_profile soubor.

$ vi .bash_profile

Přidejte následující řádek do .bash_profile soubor dole.

export VAR2='This is TecMint Home'

Při získávání tohoto souboru bude proměnná k dispozici, když ssh tomuto uživateli zadáte, ale ne při otevření jakéhokoli nového místního terminálu.

$ source .bash_profile 
$ echo $VAR2

Zde VAR2 není zpočátku dostupná, ale po provedení ssh uživateli na localhost se proměnná zpřístupní.

$ ssh [email protected]
$ echo $VAR2

Chcete-li tuto proměnnou odstranit, stačí odstranit řádek v .bash_profile soubor, který jste přidali, a znovu jej vytvořte.

POZNÁMKA :Tyto proměnné budou dostupné pokaždé, když se přihlásíte k aktuálnímu uživateli, ale ne pro ostatní uživatele.

3. Nastavení a zrušení nastavení systémových proměnných prostředí v Linuxu

a.) Chcete-li přidat celosystémovou proměnnou bez přihlášení (tj. takovou, která je dostupná pro všechny uživatele, když kterýkoli z nich otevře nový terminál, ale ne, když je vzdálený přístup k libovolnému uživateli stroje), přidejte proměnnou do /etc/bash.bashrc soubor.

export VAR='This is system-wide variable'

Poté vytvořte zdrojový soubor.

$ source /etc/bash.bashrc 

Nyní bude tato proměnná dostupná pro každého uživatele, když otevře jakýkoli nový terminál.

$ echo $VAR
$ sudo su
$ echo $VAR
$ su -
$ echo $VAR

Zde je stejná proměnná dostupná pro root uživatele i běžného uživatele. Můžete to ověřit přihlášením k jinému uživateli.

b.) Pokud chcete, aby byla k dispozici jakákoli proměnná prostředí, když je některý z uživatelů na vašem počítači vzdáleně přihlášen, ale ne při otevírání nového terminálu na místním počítači, musíte soubor upravit – '/etc/profile' .

export VAR1='This is system-wide variable for only remote sessions'

Po přidání proměnné stačí soubor znovu vytvořit. Pak by byla proměnná k dispozici.

$ source /etc/profile
$ echo $VAR1

Chcete-li tuto proměnnou odstranit, odstraňte řádek z /etc/profile soubor a jeho zdroj.

c.) Pokud však chcete přidat jakékoli prostředí, které chcete, aby bylo dostupné v celém systému, a to jak na relacích vzdáleného přihlášení, tak na místních relacích (tj. otevření nového okna terminálu) pro všechny uživatele, stačí exportovat proměnnou do /etc/environment soubor.

export VAR12='I am available everywhere'

Poté stačí zdrojový soubor a změny se projeví.

$ source /etc/environment
$ echo $VAR12
$ sudo su
$ echo $VAR12
$ exit
$ ssh localhost
$ echo $VAR12

Zde, jak vidíme, je proměnná prostředí dostupná pro běžného uživatele, uživatele root a také pro vzdálené přihlášení (zde na localhost ).

Chcete-li tuto proměnnou vymazat, jednoduše odstraňte položku v /etc/environment soubor a znovu jej vytvořte nebo se znovu přihlaste.

POZNÁMKA :Změny se projeví, když zdroj souboru. Ale pokud ne, možná se budete muset odhlásit a znovu přihlásit.

Závěr

Toto je tedy několik způsobů, jak můžeme modifikovat proměnné prostředí. Pokud najdete nějaké nové a zajímavé triky pro totéž, uveďte je ve svých komentářích.


Linux
  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

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

  2. Jak nastavit Wifi-Direct připojení mezi Androidem a Linuxem

  3. Jak zrušit nastavení mnoha proměnných prostředí

  1. Jak nastavit nebo změnit název hostitele systému v systému Linux

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

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