Pokud vaše práce zahrnuje provádění věcí prostřednictvím příkazového řádku v Linuxu, pravděpodobněji budete používat prostředí Bash. Věděli jste, že existuje prostředí spojené s procesy, které se provádějí prostřednictvím shellu? A pokud chcete, můžete toto prostředí vyladit speciálně pro úkol, který právě děláte? V tomto článku budeme diskutovat o nástroji příkazového řádku - env - to vám nejen umožňuje přístup k prostředí shellu, ale také vám umožňuje v případě potřeby v něm provádět změny.
Ale než to uděláme, stojí za zmínku, že všechny příkazy a instrukce uvedené v tomto tutoriálu byly testovány na Bash shell běžícím na Ubuntu 16.04LTS.
Příkaz Linux env
Podle definice vám příkaz env umožňuje spouštět program v upraveném prostředí. Následuje syntaxe příkazu, jak je uvedeno na jeho manuálové stránce:
env [OPTION]... [-] [NAME=VALUE]... [PŘÍKAZ [ARG]...]
A zde je to, co o env říká manuálová stránka:
Nastavte každý NAME na VALUE v prostředí a spusťte COMMAND.
Následující příklady ve stylu otázek a odpovědí by vám měly poskytnout lepší představu o tom, jak tento příkaz funguje:
O1. Jak přistupovat ke všem proměnným prostředí pomocí příkazu env?
Prostředí Bash, jak už možná víte, se skládá z položek VARNAME=VALUE. Chcete-li získat přístup ke všem proměnným prostředí a k nim přidruženým hodnotám, spusťte příkaz env bez jakékoli možnosti.
env
Zde je výstup výše uvedeného příkazu v našem případě:
Q2. Jak dočasně změnit prostředí pomocí env?
Klíčovou funkcí, kterou env nabízí, je možnost dočasně změnit prostředí pro proces. Vytvořili jsme například malý spustitelný soubor – nazvaný env – který při spuštění zobrazuje hodnotu proměnné prostředí USER.
Zde je výstup v normálním scénáři:
Nyní jsme použili příkaz env k dočasné změně hodnoty proměnné prostředí USER z 'himanshu' na 'HTF' pro spustitelný soubor/proces. V tomto případě jsme použili následující příkaz:
ENV USER=HTF ./env
A zde je výstup vytvořený v tomto případě:
Takže můžete vidět, že spustitelný soubor vrátil novou hodnotu.
Poznámka:Jak naznačuje obecná syntaxe nástroje, můžete upravit hodnoty více proměnných prostředí a nastavit proces, aby tyto nové hodnoty používal.
O3. Jak přimět proces, aby ignoroval existující prostředí pomocí env?
Pokud chcete, můžete také nastavit, aby proces ignoroval existující/zděděné prostředí a místo toho začal s prázdným. To lze provést pomocí -i nebo --ignore-environment možnost.
Například:
4. Jak zajistit, aby env používal ve výstupu NUL místo znaku nového řádku?
V prvním příkladu, který jsme probrali výše, jsou výstupní řádky vytvořené pomocí env odděleny novým řádkem. Pokud však chcete, můžete nastavit, aby env používal jako oddělovač znak NUL. K této funkci lze přistupovat pomocí --null možnost příkazového řádku.
env --null
Následuje příklad snímku obrazovky;
O5. Jak poznat chybu na základě stavu ukončení příkazu env?
Příkaz env vytváří následující kódy ukončení:0, 125, 126 a 127. Níže jsou uvedeny související popisy chyb:
0 pokud není zadán žádný PŘÍKAZ a je na výstupu prostředí
125, pokud samotné 'env' selže
126, pokud je PŘÍKAZ nalezen, ale nelze jej vyvolat
127, pokud nelze najít PŘÍKAZV případě, že se zobrazí chybový kód jiný než výše uvedené, pak je to návratový stav vrácený procesem/příkazem, který byl proveden s upraveným prostředím.
Závěr
Pokud jste úplný nováček v příkazovém řádku, je pravděpodobné, že tento nástroj nebudete potřebovat každý den. To však neznamená, že nestojí za to o tom vědět - ve skutečnosti se env v mnoha situacích opravdu hodí. Příklady, které jsme sdíleli v tomto tutoriálu, by vám měly stačit, abyste mohli začít. Pro více informací přejděte na manuálovou stránku příkazu, nebo lépe, spusťte následující příkaz:
vyvolání info coreutils env
Linuxový příkaz dirname vysvětlený pro začátečníky (4 příklady) Jak klonovat disky pomocí příkazu Linux ddLinux