Přeskočit na obsah

env

Z Wikipedie, otevřené encyklopedie
env
Typ softwarustandardní UNIXová utilita či příkaz
Některá data mohou pocházet z datové položky.

env je shellový příkaz pro Unixunixové operační systémy. Používá se pro vypsání seznamu proměnných prostředí nebo pro spuštění jiného nástroje ve změněném prostředí bez modifikace existujícího. Pomocí env můžeme odstraňovat a přidávat proměnné nebo stávajícím proměnným přiřazovat nové hodnoty.

V praxi má env obvykle jiné použití. Často je používán v shell skriptech pro spuštění správného interpretu příkazů. V případě tohoto použití se prostředí obvykle nemění.

Příklady

[editovat | editovat zdroj]

Vyčištění prostředí (vytvoření nového prostředí bez jakýchkoliv stávajících proměnných) pro nový shell:

env -i /bin/sh

Spuštění X aplikace xcalc na jiném displeji:

env DISPLAY=foo.bar:1.0 xcalc

Velice jednoduchý skript v Pythonu:

#!/usr/bin/env python2
print "Hello World."

V tomto příkladu je ‚/usr/bin/env‘ úplnou cestou k příkazu env. Prostředí se nemění.

Takto je možné určit interpreta bez použití env příkazu tím, že zadáme úplnou cestu k interpretu Pythonu. Problém tohoto přístupu tkví v tom, že v různých operačních systémech se může přesná cesta lišit. Namísto toho se používá env jako v příkladu a interpret je hledán a nalezen až v době spuštění skriptu. To dělá skript lépe přenosným, ale zvyšuje se tím riziko, že bude interpret špatně vybrán, protože se hledá shoda ve všech složkách ve vyhledávací cestě. Často také bývá problémem různá cesta env binárního souboru na různých strojích.