Logo projektu bash

Eksportowanie udostępnia zmienne/funkcje do wszystkich podpowłok (ang. subshell) danej powłoki. Dzięki temu możemy podzielić kod na wiele skryptów i korzystać z funkcji/zmiennych ze skryptu nadrzędnego.

Polecenie export

Składnia polecenia export

export opcje

Najważniejsze opcje funkcji export
nazwa_zmiennej eksportuje do środowiska zmienną o podanej nazwie
-f nazwa_funkcji eksportuje do środowiska funkcję
-n nazwa_zmiennej usuwa z środowiska zmienną o podanej nazwie, lub funkcję jeżeli podamy także opcję -f

  Jeżeli nie podamy żadnego parametru wyświetlone zostaną wszystkie eksportowane zmienne

Kod zakończenia

Jeżeli działanie funkcji export się powiedzie zwraca kod 0.

Przykłady użycia funkcji export

Jeżeli mamy dwa skrypty (skrypt1.sh i skrypt2.sh):

#!/bin/bash
#skrypt1.sh

export ZMIENNA="wartość zmiennej"

funkcja()
{
    echo "funkcja ze skryptu"
}
export -f funkcja
# wywołanie drugiego skryptu
./skrypt2.sh
#!/bin/bash
#skrypt2.sh

echo $ZMIENNA
funkcja

To wynikiem uruchomienia będzie:

$ ./skrypt1.sh 
wartość zmiennej
funkcja ze skryptu

Jeżeli z pierwszego skryptu usunęlibyśmy polecenia eksportu wynikiem uruchomienia byłoby:

$ ./skrypt1.sh

./skrypt2.sh: linia 5: funkcja: nie znaleziono polecenia