Android

Jak nastavit a vypsat proměnné prostředí v Linuxu

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

Obsah:

Anonim

V systémech založených na Linuxu a Unixu jsou proměnné prostředí sadou dynamických pojmenovaných hodnot uložených v systému, které používají aplikace spuštěné ve skořápkách nebo v podshells. Jednoduše řečeno, proměnná prostředí je proměnná s názvem a přidruženou hodnotou.

Proměnné prostředí vám umožňují přizpůsobit fungování systému a chování aplikací v systému. Například proměnná prostředí může ukládat informace o výchozím textovém editoru nebo prohlížeči, cestě ke spustitelným souborům nebo nastavení národního prostředí a rozložení klávesnice.

V této příručce vysvětlíme, jak číst a nastavovat proměnné prostředí a prostředí.

Proměnné prostředí a proměnné prostředí

Proměnné mají následující formát:

KEY=value KEY="Some other value" KEY=value1:value2

  • Názvy proměnných rozlišují velká a malá písmena. Podle konvence by proměnné prostředí měly mít UPPER CASE names.When přiřadí více hodnot proměnné, musí být odděleny dvojtečkou : character.There not space around equals = symbol.

Proměnné lze rozdělit do dvou hlavních kategorií, proměnných prostředí a proměnných prostředí.

Proměnné prostředí jsou proměnné, které jsou dostupné v celém systému a jsou zděděny všemi podřízenými procesy a skořápkami.

Proměnné prostředí jsou proměnné, které platí pouze pro aktuální instanci prostředí. Každý shell, jako je zsh a bash , má svou vlastní sadu proměnných interního shellu.

K dispozici je několik příkazů, které umožňují výpis a nastavení proměnných prostředí v systému Linux:

  • env - Příkaz umožňuje spustit jiný program ve vlastním prostředí, aniž by došlo k úpravě stávajícího. Při použití bez argumentu vytiskne seznam aktuálních proměnných prostředí. printenv - Příkaz vytiskne všechny nebo zadané proměnné prostředí. set - Příkaz nastavuje nebo odkládá proměnné prostředí. Při použití bez argumentu vytiskne seznam všech proměnných včetně proměnných prostředí a prostředí a funkcí prostředí. unset - Příkaz odstraní proměnné prostředí a prostředí. export - Příkaz nastaví proměnné prostředí.

Seznam proměnných prostředí

Nejpoužívanější příkaz k zobrazení proměnných prostředí je printenv . Pokud je název proměnné předán jako argument příkazu, zobrazí se pouze hodnota této proměnné. Pokud není zadán žádný argument, printenv vytiskne seznam všech proměnných prostředí, jednu proměnnou na řádek.

Například pro zobrazení hodnoty proměnné prostředí HOME kterou byste spustili:

printenv HOME

Výstup vytiskne cestu aktuálně přihlášeného uživatele:

/home/linuxize

Příkaz printenv můžete také předat více než jeden argument:

printenv LANG PWD

en_US /home/linuxize

printenv

Výstup bude vypadat asi takto:

LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv

Níže jsou uvedeny některé z nejčastějších proměnných prostředí:

  • USER - Aktuální přihlášený uživatel. HOME - domovský adresář aktuálního uživatele. EDITOR - výchozí editor souborů, který se má použít. Toto je editor, který bude použit při psaní edit v terminálu. SHELL - Cesta shellu aktuálního uživatele, například bash nebo zsh. LOGNAME - Jméno aktuálního uživatele. PATH - Seznam adresářů, které mají být prohledávány při provádění příkazů. Při spuštění příkazu systém prohledá tyto adresáře v tomto pořadí a použije první nalezený spustitelný soubor. LANG - Aktuální nastavení národního prostředí. TERM - aktuální emulace terminálu. MAIL - Místo, kde je uložena pošta aktuálního uživatele.

Příkazy printenv a env tisknou pouze proměnné prostředí. Chcete-li získat seznam všech proměnných, včetně prostředí, prostředí a proměnných a funkcí prostředí, můžete použít příkaz set :

set

BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()

Příkaz zobrazí velký seznam všech proměnných, takže pravděpodobně budete chtít výstup převést na příkaz less .

set | less

Příkaz echo můžete také použít k tisku proměnné prostředí. Například pro tisk hodnoty proměnné BASH_VERSION kterou byste spustili:

echo $BASH_VERSION

4.4.19(1)-release

Nastavení proměnných prostředí

Abychom lépe ilustrovali rozdíl mezi proměnnými prostředí a prostředí, začneme nastavením proměnných prostředí a poté přejdeme k proměnným prostředí.

Chcete-li vytvořit novou proměnnou prostředí s názvem MY_VAR a hodnotu Linuxize jednoduše zadejte:

MY_VAR='Linuxize'

Můžete ověřit, že proměnná je nastavena pomocí echo $MY_VAR filtrování výstupu příkazu set pomocí grep set | grep MY_VAR set | grep MY_VAR :

echo $MY_VAR

Linuxize

Pomocí příkazu printenv zkontrolujte, zda je tato proměnná proměnnou prostředí nebo ne:

printenv MY_VAR

Výstup bude prázdný, což nám říká, že proměnná není proměnnou prostředí.

Můžete také zkusit vytisknout proměnnou v sub-shellu a dostanete prázdný výstup.

bash -c 'echo $MY_VAR'

Příkaz export se používá k nastavení proměnných prostředí.

Chcete-li vytvořit proměnnou prostředí, jednoduše exportujte proměnnou prostředí jako proměnnou prostředí:

export MY_VAR

Můžete to zkontrolovat spuštěním:

printenv MY_VAR

Linuxize

bash -c 'echo $MY_VAR'

Linuxize

Proměnné prostředí můžete také nastavit na jednom řádku:

export MY_NEW_VAR="My New Var"

Takto vytvořené proměnné prostředí jsou k dispozici pouze v aktuální relaci. Pokud otevřete nový shell nebo se odhlásíte, všechny proměnné budou ztraceny.

Persistentní proměnné prostředí

Aby proměnné prostředí zůstaly trvalé, musíte je definovat v konfiguračních souborech bash. Ve většině distribucí Linuxu při spuštění nové relace jsou proměnné prostředí čteny z následujících souborů:

  • /etc/environment - Tento soubor použijte k nastavení proměnných prostředí celého systému. Proměnné v tomto souboru jsou nastaveny v následujícím formátu:

    FOO=bar VAR_TEST="Test Var"

    /etc/profile - Proměnné nastavené v tomto souboru jsou načteny vždy, když je vložen bash přihlašovací shell. Při deklarování proměnných prostředí v tomto souboru musíte použít příkaz export :

    export JAVA_HOME="/path/to/java/home" export PATH=$PATH:$JAVA_HOME/bin

    Konfigurační soubory specifické pro prostředí uživatele. Například pokud používáte Bash, můžete deklarovat proměnné v ~/.bashrc :

    export PATH="$HOME/bin:$PATH"

Chcete-li načíst nové proměnné prostředí do aktuální relace prostředí, použijte příkaz source :

source ~/.bashrc

Závěr

V této příručce jsme vám ukázali, jak nastavit a vypsat proměnné prostředí a prostředí.

Pokud máte nějaké dotazy, neváhejte a zanechte komentář.

terminál