GNU/Linux >> Znalost Linux >  >> Linux

Vysvětlení příkazu Export v Linuxu

Příkaz export v Linuxu se používá k vytváření proměnných prostředí. Můžete jej použít takto:

export myvar

nebo zkrácený text, jako je tento, abyste mu okamžitě přiřadili hodnotu:

export myvar=5

Hodnotu exportovaných proměnných můžete vidět pomocí příkazu echo:

echo $myvar

Aby byly změny trvalé, měli byste je přidat do souboru ~/.bashrc.

To bylo jen rychlé shrnutí. Podívejme se na to podrobně, abychom tomu lépe porozuměli.

Jak funguje příkaz export

V níže uvedeném příkladu deklaruji proměnnou shellu var a přiřadím jí hodnotu 3. Prozatím je to proměnná shellu.

[email protected]:~$ var=3
[email protected]:~$ echo $var
3

Pokud opustím terminál a otevřu nový terminál, tato proměnná shellu zmizí. Pokud chci tuto proměnnou použít ve skriptu shellu, nebude to fungovat. Podobně, pokud přepnu uživatele (a tím zahájím nový shell s tímto uživatelem), tato proměnná shellu nebude dostupná:

[email protected]:~$ su prakash
Password: 
[email protected]:/home/abhishek$ echo $var

Nyní se vraťme k předchozímu uživateli (a tedy k předchozímu shellu, kde jsem deklaroval proměnnou shellu). Zde můžete vidět, že proměnná stále existuje (protože jsme tuto relaci shellu ještě neukončili):

[email protected]:/home/abhishek$ exit
exit
[email protected]:~$ echo $var
3

Takže teď, když použiji příkaz export na proměnnou var zde se stane proměnnou prostředí a bude k dispozici všem subshellům, uživatelům a skriptům shellu v této relaci.

[email protected]:~$ export var
[email protected]:~$ echo $var
3
[email protected]:~$ su prakash
Password: 
[email protected]:/home/abhishek$ echo $var
3

Všechny proměnné prostředí můžete zkontrolovat pomocí příkazu printenv:

printenv

Udělejte exportované proměnné shellu „trvalými“ pomocí souboru bashrc

Tady ale boj nekončí. Pokud zavřete relaci, ukončíte terminál, odhlásíte se nebo restartujete systém, vaše proměnná prostředí opět zmizí.

To je důvod, proč je běžnou praxí přidávat exportní příkazy do konfiguračního souboru běhového prostředí (rc) vašeho shellu.

Každý shell má tento rc soubor umístěný v domovském adresáři uživatele, který se používá k určení proměnných a další konfigurace při spuštění shellu. Jako uživatel můžete tento rc soubor použít k přizpůsobení vašeho shellu a jeho chování.

Pokud používáte bash shell, měli byste mít soubor bashrc na adrese ~/.bashrc . Tento soubor můžete buď upravit v textovém editoru, jako je Vim, nebo stačí přidat export var=3 (nebo cokoli, co exportujete) do tohoto souboru.

Po dokončení byste měli pomocí příkazu source okamžitě zpřístupnit změny.

Osvědčeným postupem je uchovávat všechny uživatelem definované proměnné prostředí na jednom místě.

Proč používat příkaz export?

Jedno z nejběžnějších použití příkazu export je, když chcete přidat něco do cesty, aby váš systém Linux našel určitý příkaz/spustitelný soubor.

Pokud jste například nainstalovali maven a chcete jej spustit, měli byste do cesty přidat umístění adresáře spustitelných souborů maven takto:

export PATH=/opt/maven/bin:$PATH

Co to dělá? Přidá toto umístění adresáře do cesty. Když se pokusíte spustit příkaz v Linuxu, váš systém hledá jeho spustitelný soubor (obvykle v adresáři bin) v adresářích uvedených v proměnné PATH.

[email protected]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
[email protected]:~$ export PATH=/opt/maven/bin:$PATH
[email protected]:~$ echo $PATH
/opt/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Vřele doporučuji přečíst si o adresářové struktuře Linuxu, abyste měli lepší představu.

Bonusový tip:Odebrání proměnné z exportovaného seznamu

Předpokládejme, že chcete odstranit „exportovanou“ proměnnou. Možnost negovat můžete použít tímto způsobem:

export -n myvar

Mějte na paměti, že to neresetuje hodnotu proměnné. Exportovaná globální proměnná se pouze změní na lokální proměnnou. Bude mít i nadále stejnou hodnotu, jakou jste nastavili dříve.

Chcete-li odstranit proměnnou z exportovaného seznamu a také odstranit její přiřazenou hodnotu, použijte možnost unset:

unset myvar

Doufám, že nyní máte lepší představu o příkazu export v Linuxu. Pokud máte pochybnosti, neváhejte se zeptat v sekci komentářů.


Linux
  1. Linuxový exportní příkaz

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

  3. Příklady příkazů chsh v Linuxu

  1. Vysvětlení příkazu tar pro Linux

  2. Příkaz historie v Linuxu Vysvětleno do hloubky

  3. Příkaz ls v Linuxu:17 vysvětlení užitečných příkladů

  1. Vysvětlení příkazu Linux Stat

  2. Source Command v Linuxu

  3. Linux Export příkaz s příklady