Po uruchomieniu skryptu powłoki odbywa się to w powłoce podrzędnej, więc nie może wpływać na środowisko powłoki nadrzędnej. Chcesz pobrać skrypt, wykonując:
. ./setfoo.sh
Powoduje to wykonanie go w kontekście bieżącej powłoki, a nie jako podrzędny .
Ze strony podręcznika bash:
. nazwa_pliku [argumenty]
nazwa pliku źródłowego [argumenty]
Odczytaj i wykonaj polecenia z nazwa_pliku w bieżącym środowisku powłoki i zwróć kod zakończenia ostatniego polecenia wykonanego z nazwy pliku.
Jeśli nazwa pliku nie zawiera ukośnika, nazwy plików w PATH są używane do znalezienia katalogu zawierającego nazwę pliku.
Plik wyszukiwany w PATH nie musi być wykonywalny. Gdy bash nie jest w trybie POSIX, przeszukiwany jest katalog bieżący, jeśli żaden plik nie zostanie znaleziony w PATH.
Jeśli opcja sourcepath do wbudowanego polecenia shopt jest wyłączona, PATH nie jest przeszukiwany.
Jeśli podano jakiekolwiek argumenty, stają się one parametrami pozycyjnymi podczas wykonywania nazwy pliku.
W przeciwnym razie parametry pozycyjne pozostają niezmienione. Status powrotu to stan ostatniego polecenia zakończonego w skrypcie (0, jeśli żadne polecenie nie zostało wykonane), a fałsz, jeśli nazwa pliku nie została znaleziona lub nie można jej odczytać.