Export je vestavěný příkaz bash shellu, když jsou proměnné prostředí vytvořeny v bash shellu, nedědí změny jejich rodičovského shellu, což znamená, že když bude nový shell otevřen, hodnoty nadřazeného shellu nebudou exportován do nového podřízeného prostředí. Chcete-li exportovat hodnoty proměnných prostředí v podřízeném prostředí, použijeme příkaz export k exportu těchto hodnot do podřízených procesů.
V tomto pokračování vysvětlíme použití příkazu export v Linuxu.
Co je příkaz exportu v Linuxu
Příkaz export se používá k označení proměnných prostředí, aby je bylo možné exportovat do podřízených shellů. Obecná syntaxe použití příkazu export:
$ export [options] [variable-name]
S příkazem export můžeme použít dva argumenty; jednou může být libovolná možnost (o těchto možnostech bude řeč později) a název proměnné, která má být označena pro export v podřízeném prostředí.
Nejčastěji se s příkazem export používají následující možnosti:
Možnosti | Vysvětlení |
-p | Zobrazuje exportované proměnné aktuálního shellu |
-n | Slouží k odstranění proměnné ze seznamu exportovaných proměnných |
-f | Používá se k exportu funkcí z nadřazeného do podřízeného prostředí |
Abychom porozuměli použití příkazu export, nejprve se podíváme na příklad základní úrovně. Deklarujeme proměnnou „myVariable“ a uložíme do ní řetězec „LinuxFoss“ pomocí příkazu:
$ myVariable=LinuxFoss
Chcete-li zobrazit uloženou hodnotu „myVariable“, použijte příkaz echo:
$ echo $myVariable
Byla zobrazena hodnota „Linux Foss“, otevřete podřízený shell spuštěním příkazu bash:
$ bash
Byl otevřen nový bash shell, vytiskněte hodnotu „myVariable“ vytvořenou v nadřazeném shellu:
$ echo $myVariable
Ve výstupu se nic nezobrazilo, protože „myVariable“ vytvořená v nadřazeném shellu není exportována do podřízeného shellu, takže podřízený shell opustíme:
$ exit
Jakmile jsme v nadřazeném shellu, exportujeme „myVariable“ do podřízených shellů pomocí příkazu export:
$ export myVariable
Znovu otevřete podřízený shell:
$ bash
Vytiskněte hodnotu „myVariable“ pomocí příkazu echo:
$ echo $myVariable
Tímto způsobem můžeme označit proměnné prostředí a exportovat je do nově vytvořených shellů nebo podřízených shellů. Nyní, pokud chceme zobrazit exportní proměnné aktuálního shellu, můžeme použít příznak „-p“:
$ export -p
V posledním ze seznamu můžeme vidět název „myVariable“, který jsme exportovali v předchozích příkazech:
A pokud chceme odstranit „myVariable“ ze seznamů exportovaných proměnných, můžeme použít volbu „-n“:
$ export -n myVariable
Pokud znovu zobrazíme seznam exportních proměnných aktuálního shellu pomocí parametru „-p“:
$ export -p
V celém seznamu neuvidíme název „myVariable“:
Název byl odstraněn, podobně můžeme vytvořit funkci myVariable() v nadřazeném shellu a uložit do něj nějakou hodnotu:
$ myVariable() { echo “HELLO! Its LinuxFoss”; }
Pro export této funkce do podřízeného shellu použijeme příznak „-f“, jinak to bude považovat za název proměnné, nikoli za funkci:
$ export -f myVariable
Otevřete nový shell pomocí příkazu „bash“ a vytiskněte hodnotu myVariable():
$ myVariable
Pokud je příkaz „export“ proveden bez použití jakýchkoli voleb, zobrazí se seznam všech exportovaných proměnných a funkcí:
$ export
Příkaz export se také používá k nastavení editoru vim jako výchozího editoru Linuxu, k nastavení editoru Vim na váš výchozí editor pomocí příkazu export:
$ export EDITOR=/usr/bin/vim
Chcete-li ověřit, zda byl editor vim nastaven jako výchozí editor, použijte příkaz grep:
$ export | grep EDITOR
Závěr
Příkaz export je jedním z vestavěných příkazů shellu bash, který se používá k exportu proměnných prostředí z nadřazeného shellu do nově vytvořeného podřízeného shellu. V tomto pokračování je pomocí několika příkladů vysvětlen příkaz export s jeho využitím v Linuxu. Také jsme vysvětlili možnosti používané spolu s příkazem export.