Env - env - Wikipedia
Operační systém | Unix, Unixový, Peklo |
---|---|
Plošina | Cross-platform |
Typ | Příkaz |
Licence | coreutils: GPLv3 + |
env
je skořápka příkaz pro Unix a Unixový operační systémy. Používá se k tisku seznamu proměnné prostředí nebo spustit jiný nástroj ve změněném prostředí, aniž byste museli upravovat aktuálně existující prostředí. Použitím env
, proměnné lze přidávat nebo odebírat a stávající proměnné lze měnit přidělováním nových hodnot.
V praxi, env
má další běžné použití. To je často používáno shell skripty spustit správné tlumočník. Při tomto použití se prostředí obvykle nezmění.
Dějiny
Verze env
svázaný GNU coreutils napsal Richard Mlynarik, David MacKenzie a Assaf Gordon.[1] Poprvé se objevil v 4,4BSD, a je součástí POSIX.1 (s -i pouze možnost).[2]
GNU env byl rozšířen o zpracování signálů a aktuálního adresáře.[1] FreeBSD je env podporuje vlastní vyhledávací cestu. Mezi rozšíření nalezená v obou verzích patří -u, pro deaktivaci proměnných a -S, za rozdělení argumentů (hlavně v shebangu).[2]
Příklady
Chcete-li vytisknout seznam všech proměnných prostředí, jednoduše spusťte env bez jakýchkoli argumentů:
env
Chcete-li vyčistit prostředí (vytvoření nového prostředí bez jakýchkoli existujících proměnných prostředí) pro nový shell:
env -i / bin / sh
Chcete-li spustit X aplikace xcalc a nechat se zobrazit na jiném displeji:
env ZOBRAZIT=foo.bar: 1,0 xcalc
Toto použití env je často zbytečné, protože většina prostředí podporuje nastavení proměnných prostředí před příkazem:
ZOBRAZIT=foo.bar: 1,0 xcalc
env může být také použit v hashbang řádek skriptu umožňující tlumočník být vyhledán prostřednictvím PATH. Například zde je velmi jednoduchý kód Krajta skript:
#! / usr / bin / env python3tisk("Ahoj světe!")
V tomto příkladu / usr / bin / env
je plný cesta z env
příkaz. Prostředí se nezmění.
Všimněte si, že je možné určit tlumočníka bez použití env
tím, že dává plnou cestu k krajta
tlumočník. Problém tohoto přístupu spočívá v tom, že na různých počítačových systémech může být přesná cesta odlišná. Místo toho pomocí env
stejně jako v příkladu je tlumočník vyhledán a umístěn v době spuštění skriptu (přesněji env
provede systémové volání execvp
, který umí lokalizovat tlumočníka a spustit jej). Díky tomu je skript více přenosný, ale také zvyšuje riziko, že je vybrán nesprávný tlumočník, protože hledá shodu v každém adresáři na spustitelné vyhledávací cestě. Rovněž trpí stejným problémem, že cesta k env
binární se také může lišit podle jednotlivých strojů.
Viz také
Reference
externí odkazy
- Specifikace Single UNIX, Vydání 7 od Otevřená skupina : nastavení prostředí pro vyvolání příkazů - Commands & Utilities Reference,
- Peklo Obecné příkazy Manuál –
- env —Manuální stránka z GNU coreutils.
- OpenBSD Obecné příkazy Manuál : spuštění programu v upraveném prostředí -
- NetBSD Obecné příkazy Manuál : prostředí pro nastavení a tisk -