env

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

envUniksowe 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]

Czyszczenie środowiska dla nowej powłoki:

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.

Odnośniki zewnętrzne[edytuj | edytuj kod]