Używam Ubuntu 11.04. Korzystam z terminala, aby rozpocząć sesję bash i chcę dodać zmienną środowiskową:
$r@hajt:~$ env THEVAR=/example
Ale to nie działa. Pokazuje wszystkie zmienne, przy czym THEVAR jest ostatnim, ale kolejne wywołanie do env
nie pokazuje THEVAR
już - env | grep THEVAR
nic nie zwraca.
Podobnie skrypty z eksportem ( export THEVAR=/example
) lub innymi przypisaniami zmiennych ( THEVAR=/example
) nie dodają zmiennej środowiskowej.
Wiem, że robię coś złego, wiem, że to powinno być coś prostego, ale po prostu nie mogę tego znaleźć.
AKTUALIZACJA: Prawdziwe znaczenie mojego pytania było takie: https://stackoverflow.com/questions/496702/can-a-shell-script-set-environment-variables-of-the-calling-shell
(W każdym razie wybiorę najbardziej głosowaną odpowiedź i zostawiam edytowany tytuł - nie o to prosiłem)
env
uruchamia program w zmodyfikowanym środowisku, a następnie odrzuca wszystkie zmiany.
THEVAR=/example
?