Env
Author
Albert Floresenv je shellový příkaz pro Unix a unixové 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ů. +more V případě tohoto použití se prostředí obvykle nemění.
Příklady
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. +more 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.