Android

Hvordan angi og liste miljøvariabler i Linux

How to set environment variable in Linux - [Hindi]

How to set environment variable in Linux - [Hindi]

Innholdsfortegnelse:

Anonim

I Linux- og Unix-baserte systemer er miljøvariabler et sett med dynamiske navngitte verdier, lagret i systemet som brukes av applikasjoner som er lansert i skjell eller underskall. Med enkle ord er en miljøvariabel en variabel med navn og tilhørende verdi.

Miljøvariabler lar deg tilpasse hvordan systemet fungerer og oppførselen til applikasjonene på systemet. For eksempel kan miljøvariabelen lagre informasjon om standard tekstredigerer eller nettleser, banen til kjørbare filer eller systeminnstillinger og tastaturlayoutinnstillinger.

I denne guiden vil vi forklare å lese og angi miljø- og skallvariabler.

Miljøvariabler og skallvariabler

Variabler har følgende format:

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

  • Navnene på variablene er store og små bokstaver. I samsvar med at miljøvariabler skal ha ØVRE SAMMENavn. Når du tildeler flere verdier til variabelen, må de skilles av kolon : karakter. Det er ikke noe rom rundt lik = symbol.

Variabler kan klassifiseres i to hovedkategorier, miljøvariabler og skallvariabler.

Miljøvariabler er variabler som er tilgjengelige i hele systemet og arves av alle prosjekter og skjell med barn.

Skallvariabler er variabler som bare gjelder gjeldende skallforekomst. Hvert skall som zsh og bash har sitt eget sett med interne zsh .

Det er flere kommandoer tilgjengelig som lar deg liste og angi miljøvariabler i Linux:

  • env - Kommandoen lar deg kjøre et annet program i et tilpasset miljø uten å endre det gjeldende. Når det brukes uten et argument, vil det skrive ut en liste over gjeldende miljøvariabler. printenv - Kommandoen skriver ut alle eller de spesifiserte miljøvariablene. set - Kommandoen setter eller deaktiverer skallvariabler. Når det brukes uten et argument, vil det skrive ut en liste over alle variabler, inkludert miljø- og skallvariabler, og skallfunksjoner. unset - Kommandoen sletter shell- og miljøvariabler. export - Kommandoen setter miljøvariabler.

Liste miljøvariabler

Den mest brukte kommandoen for å vise miljøvariablene er printenv . Hvis navnet på variabelen sendes som et argument til kommandoen, vises bare verdien til den variabelen. Hvis ikke noe argument er spesifisert, skriver printenv ut en liste over alle miljøvariabler, en variabel per linje.

For eksempel for å vise verdien av HOME miljøvariabelen du kjører:

printenv HOME

Utgangen vil skrive ut banen til den nåværende påloggede brukeren:

/home/linuxize

Du kan også gi mer enn ett argument til printenv kommandoen:

printenv LANG PWD

en_US /home/linuxize

printenv

Utgangen vil se slik ut:

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

Nedenfor er noen av de vanligste miljøvariablene:

  • USER - Den nåværende påloggede brukeren. HOME - Hjemskatalogen til den nåværende brukeren. EDITOR - Standard filredigeringsprogrammet som skal brukes. Dette er redaktøren som skal brukes når du skriver edit i terminalen. SHELL - Stien til gjeldende brukerskall, for eksempel bash eller zsh. LOGNAME - Navnet på den nåværende brukeren. PATH - En liste over kataloger som skal søkes når du utfører kommandoer. Når du kjører en kommando, vil systemet søke i disse katalogene i denne rekkefølgen og bruke den første funnet kjørbare. LANG - Innstillinger for gjeldende lokaliteter. TERM - Gjeldende terminalemulering. MAIL - Plassering av hvor den nåværende brukerens post er lagret.

Kommandoene printenv og env skriver bare ut miljøvariablene. Hvis du vil få en liste over alle variabler, inkludert miljø, skall og variabler og skallfunksjoner, kan du bruke settkommandoen:

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=()

Kommandoen vil vise en stor liste over alle variabler, slik at du sannsynligvis vil føre utdata til kommandoen less .

set | less

Du kan også bruke ekko-kommandoen til å skrive ut en skalvariabel. For å skrive ut verdien av BASH_VERSION variabelen, vil du for eksempel kjøre:

echo $BASH_VERSION

4.4.19(1)-release

Innstilling av miljøvariabler

For å bedre illustrere forskjellen mellom Shell- og miljøvariablene, starter vi med å sette Shellvariabler og deretter gå videre til Miljøvariablene.

For å lage en ny MY_VAR med navnet MY_VAR og verdien Linuxize ganske enkelt:

MY_VAR='Linuxize'

Du kan bekrefte at variabelen er satt ved å bruke et av echo $MY_VAR for å filtrere utdataene fra echo $MY_VAR med grep set | grep MY_VAR set | grep MY_VAR :

echo $MY_VAR

Linuxize

Bruk printenv kommandoen for å sjekke om denne variabelen er en miljøvariabel eller ikke:

printenv MY_VAR

Utgangen vil være tom som forteller oss at variabelen ikke er en miljøvariabel.

Du kan også prøve å skrive ut variabelen i et underskall, så får du en tom utdata.

bash -c 'echo $MY_VAR'

Eksportkommandoen brukes til å angi miljøvariabler.

For å lage en miljøvariabel eksporterer du bare skjellvariabelen som en miljøvariabel:

export MY_VAR

Du kan sjekke dette ved å kjøre:

printenv MY_VAR

Linuxize

bash -c 'echo $MY_VAR'

Linuxize

Du kan også angi miljøvariabler på en enkelt linje:

export MY_NEW_VAR="My New Var"

Miljøvariabler opprettet på denne måten er bare tilgjengelige i den nåværende økten. Hvis du åpner et nytt skall, eller hvis du logger ut, vil alle variabler gå tapt.

Vedvarende miljøvariabler

For å gjøre miljøvariabler vedvarende må du definere disse variablene i bash-konfigurasjonsfilene. I de fleste Linux-distribusjoner når du starter en ny økt, leses miljøvariabler fra følgende filer:

  • /etc/environment - Bruk denne filen til å sette opp hele systemet miljøvariabler. Variabler i denne filen er satt i følgende format:

    FOO=bar VAR_TEST="Test Var"

    /etc/profile - Variabler satt i denne filen blir lastet hver gang et bash login shell er lagt inn. Når du deklarerer miljøvariabler i denne filen, må du bruke export :

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

    Spesifikke konfigurasjonsfiler per bruker. Hvis du for eksempel bruker Bash, kan du erklære variablene i ~/.bashrc :

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

For å laste inn de nye miljøvariablene i den gjeldende skalløkten bruker du source :

source ~/.bashrc

Konklusjon

I denne guiden har vi vist deg hvordan du kan angi og liste miljø- og skallvariabler.

Legg gjerne igjen en kommentar hvis du har spørsmål.

terminal