PředchozíNahoruDalšíObsah

16.8 Příkaz export

Příkaz export zpřístupní proměnnou, kterou mu předáte jako parametr, podřízeným shellům. Proměnné vytvořené v shellu implicitně nejsou přístupné dalším (podřízeným) shellům vyvolaným z tohoto skriptu. Příkaz export vytvoří proměnnou prostředí předanou jako parametr, která pak bude přístupná jiným skriptům, a programům vyvolaným z tohoto programu. Odborně řečeno, exportované proměnné vytvoří proměnné prostředí v libovolném dceřiném procesu odvozeném od tohoto shellu. To nejlépe ilustrují dva skripty nazvané export1 a export2.

Nejprve skript export2:

#!/bin/bash

echo "$foo"
echo "$bar"

Nyní skript export1. Na konci skriptu voláme skript export2.

#!/bin/bash

foo="The first meta-syntactic variable"
export bar="The second meta-syntatic variable"

./export2

Spustíme-li skript export1, dostaneme následující výstup:

xconsole$ export1

The second meta-syntatic variable
xconsole$

První řádek je prázdný, protože proměnná foo nebyla ve skriptu export2 dostupná, takže byla vyhodnocena jako prázdná. Předáme-li příkazu echo prázdnou proměnnou, vypíše jen znak nový řádek.

Jakmile byla proměnná exportována z shellu, bude exportována do všech skriptů spuštěných z tohoto shellu a také do všech dalších shellů, které z něj budou spuštěny. Pokud by skript export2 volal jiný skript, také on by měl k dispozici hodnotu proměnné bar.

Příkazy set -a nebo set -allexport exportují všechny nově vytvořené proměnné.

PředchozíNahoruDalšíObsah

15. října 2000 16:42