Jako správce systému pravděpodobně víte, jak důležité jsou proměnné prostředí v Bash .
Proměnné prostředí se používají k definování proměnných, které budou mít vliv na běh programů.
V Bash proměnné prostředí definovat mnoho různých věcí:váš výchozí editor, vaše aktuální uživatelské jméno nebo aktuální časové pásmo.
A co je nejdůležitější, proměnné prostředí lze použít ve skriptech Bash za účelem úpravy chování vašich skriptů.
V tomto tutoriálu se podíváme, jak můžete snadno nastavit proměnné prostředí v Bash .
Nastavte proměnné prostředí v Bash
Nejjednodušší způsob, jak nastavit proměnné prostředí v Bash, je použít klíčové slovo „export“ následované názvem proměnné, rovnítkem a hodnotou, která má být proměnné prostředí přiřazena.
Chcete-li například přiřadit hodnotu „abc ” do proměnné “VAR “, napsali byste následující příkaz
$ export VAR=abc
Pokud chcete mít ve své hodnotě mezery, například „moje hodnota “ nebo „Linus Torvalds “, budete muset svou hodnotu uzavřít do dvojitých uvozovek.
$ export VAR="my value"
$ export VAR="Linus Torvalds"

Chcete-li zobrazit proměnnou prostředí, musíte před proměnnou uvést znak dolaru.
$ echo $VAR
Linus Torvalds
Podobně můžete použít „printenv ” k vytištění hodnoty vaší proměnné prostředí.
Tentokrát jej nemusíte předcházet znakem dolaru.
$ printenv VAR
Linus Torvalds
Nastavení proměnných pomocí Bash interpolace
V některých případech může být nutné nastavit konkrétní proměnnou prostředí na výsledek příkazu na vašem serveru.
Abyste toho dosáhli, budete potřebovat Bashovu interpolaci, nazývanou také substituce parametrů .
Řekněme například, že chcete uložit hodnotu vaší aktuální instance shellu do proměnné s názvem MYSHELL.
Chcete-li nastavit proměnnou prostředí pomocí substituce parametru, použijte klíčové slovo „export“ a nechejte příkaz v závorce předcházet znak dolaru.
$ export VAR=$(<bash command>)
Například vzhledem k našemu předchozímu příkladu, pokud chcete mít proměnnou prostředí „SHELL“ v nové proměnné s názvem „MYSHELL“, napište
$ export MYSHELL=$(echo $SHELL)

Gratulujeme, úspěšně jste vytvořili svou první proměnnou prostředí v Bash!
Nastavení stálých proměnných prostředí v Bash
Když přiřadíte hodnotu proměnné pomocí „exportu“ v shellu, změny se neudrží při restartu nebo v jiných shellech.
Chcete-li nastavit trvalou proměnnou prostředí v Bash, musíte použít příkaz export a přidat ji buď do souboru „.bashrc“ (pokud je tato proměnná pouze pro vás), nebo do souboru /etc/environment, pokud chcete, aby tuto proměnnou prostředí měli všichni uživatelé.
$ nano /home/user/.bashrc
# Content of the .bashrc file
export VAR="My permanent variable"

Aby byly změny aplikovány na vaši aktuální relaci, budete muset vytvořit zdrojový soubor .bashrc.
$ source .bashrc
Nyní můžete zkontrolovat hodnotu proměnné prostředí v každém prostředí, které chcete.
$ printenv VAR

Tato proměnná bude vytvořena v každé instanci prostředí pro aktuálního uživatele.
Pokud jej však přidáte do „/etc/environment ” bude proměnná prostředí nastavena pro všechny uživatele ve vašem systému.
$ nano /etc/environment
# Content of the environment file
export GLOBAL="This is a global variable"

Po získání zdroje budou proměnné prostředí nastaveny pro každého uživatele na vašem hostiteli.
$ source /etc/environment
$ echo $GLOBAL

Skvělé, úspěšně jste nastavili globální proměnnou prostředí na vašem serveru!
Závěr
V tomto tutoriálu jste se naučili, jak snadno nastavit proměnné prostředí v Bash pomocí příkazu export.
Také jste se dozvěděli, že změny nejsou trvalé, dokud je nepřidáte do svého :
- .bashrc :pokud chcete, aby proměnná byla pouze pro aktuálně přihlášeného uživatele;
- /etc/environment :pokud chcete, aby proměnná byla sdílena všemi uživateli v systému.
Pokud vás zajímá Správa systému Linux , nebo v Bash, máme na webu kompletní sekci věnovanou tomu, takže se na to určitě podívejte!