Env
env – uniksowe narzędzie powłokowe. Ma dwa zastosowania. Wywołane bez argumentów wypisuje listę aktualnie ustawionych zmiennych środowiskowych. W drugim zastosowaniu pozwala na uruchomienie innego programu ze zmienionymi wartościami wybranych zmiennych środowiskowych bez wpływania na aktualne środowisko. Nowe wartości zmiennych przekazywane są jako argumenty w postaci par nazwa=wartość. W praktyce env ma jeszcze jedno zastosowanie — używany jest przez skrypty do uruchamiania odpowiedniego interpretera, przeważnie bez zmiany środowiska.
Użycie polecenia:
env [opcje...] [nazwa_zmiennej=nowa_wartość]... [polecenie [argumenty_do_polecenia...]]
Przykłady
Aby wyświetlić wszystkie zmienne środowiskowe wystarczy wpisać polecenie env bez argumentów:
env
Czyszczenie środowiska dla nowej powłoki (wyczyszczenie wszystkich zmiennych środowiskowych):
env -i /bin/sh
Uruchomienie aplikacji Xcalc na innym ekranie:
env DISPLAY=foo.bar:1.0 xcalc
Skrypt w Pythonie, który używa env do uruchomienia swojego interpretera:
#!/usr/bin/env python
print "Hello World."
W tym przypadku można wybrać interpreter bez używania env, jednak podejście to ma wadę. Pełna ścieżka do niego może być różna w zależności od systemu operacyjnego. Korzystając z env, interpreter jest lokalizowany w momencie uruchomienia skryptu, co zwiększa jego przenośność. Z drugiej strony, zwiększa to ryzyko wybrania niewłaściwego interpretera, ponieważ program przeszukuje wszystkie wskazane ścieżki i wybiera pierwszy pasujący plik. Ponadto sam env może znajdować się też w innej lokalizacji na komputerze użytkownika.
Linki zewnętrzne
- env: ustawia środowisko dla innego polecenia — Commands & Utilities Reference, The Single UNIX® Specification, Wydanie 7, The Open Group
env(1)– strona podręcznika systemu Linux