Tento článek vysvětluje základy příkazu export v Linuxu a ukazuje, jak nastavit, zobrazit a manipulovat s proměnnými env Linuxu pomocí příkazu export.
Proměnné prostředí v Linuxu používá většina činností probíhajících v systému Linux. Od provedení standardního příkazu, jako je „ls“, po instalaci nového softwaru do vašeho linuxového boxu, každá aktivita buď používá nebo mění seznam proměnných prostředí.
Definice proměnné prostředí:
Jde o pojmenovaný objekt, který může být použit více aplikacemi, protože obsahuje některé cenné informace vyžadované těmito aplikacemi
1. Zobrazit všechny aktuálně exportované proměnné
Použijte export -p k zobrazení všech proměnných env, jak je uvedeno níže. Zde je zobrazen částečný výstup.
$ export -p declare -x COLORTERM="gnome-terminal" declare -x DEFAULTS_PATH="/usr/share/gconf/gnome.default.path" declare -x DESKTOP_SESSION="gnome" declare -x HOME="/home/himanshu" declare -x LOGNAME="himanshu" declare -x MANDATORY_PATH="/usr/share/gconf/gnome.mandatory.path" declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" declare -x PWD="/home/himanshu" declare -x SHELL="/bin/bash" declare -x SSH_AGENT_PID="1663" declare -x USER="himanshu" declare -x USERNAME="himanshu" declare -x WINDOWID="56623107" ..
Všimněte si, že tento seznam můžete zobrazit také pomocí příkazu ‚env‘.
2. Zobrazit konkrétní exportovanou proměnnou
Použijte příkaz echo k zobrazení konkrétní proměnné prostředí. Následující příklad zobrazuje hodnotu proměnné PATH env.
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Viz také 15 užitečných vestavěných příkazů prostředí Bash, kde je vysvětleno několik dalších příkazů (např. env, unset atd.), které také fungují s proměnnými env.
3. Nastavte proměnnou prostředí
Můžete přidat novou proměnnou prostředí, jak je znázorněno níže. Následující vytvoří novou proměnnou prostředí nazvanou „MYAPP“ a přiřadí jí hodnotu 1.
$ export MYAPP=1
Ověřte, že je proměnná prostředí správně nastavena pomocí příkazu echo.
$ echo $MYAPP 1
Poznámka:Nedávejte mezeru před a/nebo za znakem =. Například všechny následující položky jsou neplatné.
$ export MYAPP = 1 -bash: export: `=': not a valid identifier -bash: export: `1': not a valid identifier $ export MYAPP =1 -bash: export: `=1': not a valid identifier $ export MYAPP= 1 -bash: export: `1': not a valid identifier
4. Připojit hodnotu k proměnné prostředí
V níže uvedeném příkladu se pokusíme připojit novou cestu k proměnné PATH. Hodnoty oddělte pomocí „:“.
$ export PATH=$PATH:/home/himanshu/practice/
Ověřte, zda byla hodnota správně připojena.
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/himanshu/practice/
5. Proměnné bez exportu
Přiřaďte proměnnou hodnotu v interaktivním shellu a pokuste se k ní přistupovat ve skriptu shellu.
$ MYAPP=1 $ cat myapp.sh #!/bin/bash echo "MYAPP=$MYAPP" MYAPP=2 echo "MYAPP=$MYAPP"
Nyní spusťte výše uvedený skript, jak je ukázáno níže.
$ ./myapp.sh MYAPP= MYAPP=2
Přesto dostanete prázdnou hodnotu pro proměnnou MYAPP. Shell ukládá proměnnou MYAPP s LINUXem pouze v aktuálním shellu. Během provádění myapp.sh spustí shell a spustí skript. Takže proměnná MYAPP nebude mít hodnotu ve vytvořeném shellu. Proměnnou musíte exportovat, aby ji zdědil jiný program – včetně skriptu shellu.
Podívejte se také na výukový program proměnných bash, který vysvětluje místní a globální rozsah proměnných, deklaraci proměnné bash a několik dalších příkladů.
6. Trvalý export proměnných
Chcete-li proměnné exportovat trvale, můžete přidat příkaz export do kteréhokoli z následujících spouštěcích souborů:
~/.profile ~/.bash_profile /etc/profile
Mohou existovat určitá omezení, například „~/.profile nečte bash, pokud ~/.bash_profile nebo ~/.bash_login existuje“. Měli byste si tedy přečíst „/usr/share/doc/bash/examples/startup-files“, abyste získali lepší představu o tom, jak tyto spouštěcí soubory fungují.
Je také důležité porozumět sekvenci provádění .bash_profile, .bashrc, .bash_login, .profile a .bash_logout, což vám pomůže rozhodnout, který soubor použít k nastavení proměnné prostředí pro vaši konkrétní situaci.