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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]- 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