Paikallisten, käyttäjän ja järjestelmän laajuisten ympäristömuuttujien asettaminen ja poistaminen Linuxissa


Ympäristömuuttujat ovat joitain erityismuuttujia, jotka on määritelty shellissä ja joita ohjelmat tarvitsevat suorituksen aikana. Ne voivat olla järjestelmän tai käyttäjän määrittelemiä. Järjestelmän määrittämät muuttujat ovat niitä, jotka järjestelmä asettaa ja joita järjestelmätason ohjelmat käyttävät.

Esim. PWD-komento on hyvin yleinen järjestelmämuuttuja, jota käytetään nykyisen työhakemiston tallentamiseen. Käyttäjä määrittää tyypillisesti käyttäjän määrittämät muuttujat joko väliaikaisesti nykyiselle kuorelle tai pysyvästi. Koko ympäristömuuttujien asettamisen ja asetusten poistamisen käsite pyörii joidenkin tiedostojen ja harvojen komentojen ja erilaisten kuorien ympärillä.

Laajemmin sanottuna ympäristömuuttuja voi olla kolmen tyyppistä:

1. Paikallinen ympäristömuuttuja

Yksi määritetty nykyiselle istunnolle. Nämä ympäristömuuttujat kestävät vain nykyiseen istuntoon asti, olipa kyseessä etäkirjautumisistunto tai paikallinen pääte-istunto. Näitä muuttujia ei ole määritetty missään asetustiedostossa, ja ne luodaan ja poistetaan käyttämällä erityistä komentosarjaa.

2. Käyttäjäympäristömuuttuja

Nämä ovat muuttujia, jotka määritetään tietylle käyttäjälle ja ladataan aina, kun käyttäjä kirjautuu sisään käyttämällä paikallista pääteistuntoa tai kun käyttäjä kirjautuu sisään etäkirjautumisistunnon avulla. Nämä muuttujat asetetaan ja ladataan yleensä seuraavista määritystiedostoista: .bashrc, .bash_profile, .bash_login, .profile tiedostot, jotka ovat käyttäjän kotihakemistossa.

3. Järjestelmän laajuiset ympäristömuuttujat

Nämä ovat ympäristömuuttujia, jotka ovat saatavilla koko järjestelmässä, eli kaikille kyseisessä järjestelmässä oleville käyttäjille. Nämä muuttujat ovat järjestelmänlaajuisissa määritystiedostoissa, jotka ovat seuraavissa hakemistoissa ja tiedostoissa: /etc/environment, /etc/profile, /etc/profile.d /, /etc/bash.bashrc. Nämä muuttujat ladataan joka kerta, kun kuka tahansa käyttäjä käynnistää järjestelmän ja kirjautuu sisään joko paikallisesti tai etänä.

Käyttäjän ja järjestelmän laajuisten määritystiedostojen ymmärtäminen

Tässä kuvataan lyhyesti erilaisia yllä lueteltuja konfiguraatiotiedostoja, jotka sisältävät ympäristömuuttujia, joko järjestelmän laajuisia tai käyttäjäkohtaisia.

.bashrc

Tämä tiedosto on käyttäjäkohtainen tiedosto, joka ladataan joka kerta, kun käyttäjä luo uuden paikallisen istunnon eli yksinkertaisin sanoin avaa uuden päätteen. Kaikki tähän tiedostoon luodut ympäristömuuttujat tulevat voimaan aina, kun uusi paikallinen istunto aloitetaan.

.bash_profile

Tämä tiedosto on käyttäjäkohtainen etäkirjautumistiedosto. Tässä tiedostossa lueteltuja ympäristömuuttujia kutsutaan aina, kun käyttäjä kirjautuu sisään etänä eli ssh-istunnon avulla. Jos tätä tiedostoa ei ole, järjestelmä etsii joko .bash_login- tai .profile-tiedostoja.

/etc/environment

Tämä tiedosto on koko järjestelmän laajuinen tiedosto ympäristömuuttujien luomiseen, muokkaamiseen tai poistamiseen. Tässä tiedostossa luodut ympäristömuuttujat ovat käytettävissä kaikkialla järjestelmässä, jokaisella käyttäjällä, sekä paikallisesti että etänä.

/etc/bash.bashrc

Järjestelmänlaajuinen bashrc-tiedosto. Tämä tiedosto ladataan kerran jokaiselle käyttäjälle, joka kerta, kun tämä käyttäjä avaa paikallisen pääteistunnon. Tässä tiedostossa luodut ympäristömuuttujat ovat kaikkien käyttäjien käytettävissä, mutta vain paikallisen pääteistunnon kautta. Kun kenelle tahansa kyseisen koneen käyttäjälle päästään etäkäyttöön etäkirjautumisistunnon kautta, nämä muuttujat eivät ole näkyvissä.

/etc/profile

Järjestelmän laajuinen profiilitiedosto. Kaikki tässä tiedostossa luodut muuttujat ovat kaikkien järjestelmän käyttäjien käytettävissä, mutta vain jos kyseisen käyttäjän istunto kutsutaan etäyhteydellä, eli etäkirjautumisen kautta. Tämän tiedoston mikään muuttuja ei ole käytettävissä paikallisessa kirjautumisistunnossa, eli kun käyttäjä avaa uuden päätelaitteen paikallisessa järjestelmässään.

Huomaa: järjestelmänlaajuisilla tai käyttäjänlaajuisilla määritystiedostoilla luodut ympäristömuuttujat voidaan poistaa poistamalla ne vain näistä tiedostoista. Jokaisen näiden tiedostojen muutoksen jälkeen joko kirjaudu ulos ja kirjaudu sisään uudelleen tai kirjoita vain seuraava komento päätteeseen, jotta muutokset tulevat voimaan:

source <file-name>

Aseta tai poista paikalliset tai istunnon laajuiset ympäristömuuttujat Linuxissa

Paikallisia ympäristömuuttujia voidaan luoda seuraavilla komennoilla:

var=value 
OR
export var=value

Nämä muuttujat ovat istunnon laajuisia ja ne ovat voimassa vain nykyisessä pääteistunnossa. Näiden istunnon laajuisten ympäristömuuttujien tyhjentämiseen voidaan käyttää seuraavia komentoja:

1. Env

Oletuksena "env"-komento listaa kaikki nykyiset ympäristömuuttujat. Mutta jos sitä käytetään '-i'-kytkimen kanssa, se tyhjentää tilapäisesti kaikki ympäristömuuttujat ja antaa käyttäjän suorittaa komennon nykyisessä istunnossa ilman kaikkia ympäristömuuttujia.

env –i [Var=Value]… command args…

Tässä var=value vastaa mitä tahansa paikallista ympäristömuuttujaa, jota haluat käyttää vain tämän komennon kanssa.

env –i bash

Antaa bash shellin, jossa ei väliaikaisesti olisi mitään ympäristömuuttujia. Mutta kun poistut kuoresta, kaikki muuttujat palautetaan.

2. Käyttöönotto

Toinen tapa tyhjentää paikallinen ympäristömuuttuja on käyttää unset-komentoa. Jos haluat poistaa paikallisen ympäristömuuttujan asetuksen väliaikaisesti,

unset <var-name>

Missä var-name on paikallisen muuttujan nimi, jonka asetukset haluat poistaa tai poistaa.

3. Aseta muuttujan nimeksi "

Toinen harvinaisempi tapa on asettaa tyhjennettävän muuttujan nimeksi '' (Tyhjä). Tämä tyhjentäisi paikallisen muuttujan arvon nykyiselle istunnolle, jolle se on aktiivinen.

HUOMAA – VOI JOPA PELAA JÄRJESTELMÄ- TAI KÄYTTÄJÄYMPÄRISTÖMUUTTUJIEN ARVOJEN KANSSA JA MUUTTAA NIITÄ, MUTTA MUUTOKSET HEIJASTASIT VAIN NYKYISESTÄ PÄÄTEISTUNTOA EIVÄT OLE PYSYVIÄ.

Opi luomaan käyttäjänlaajuisia ja koko järjestelmän laajuisia ympäristömuuttujia Linuxissa

Osiossa opimme, kuinka paikalliset, käyttäjät ja järjestelmät kattavat ympäristömuuttujat asetetaan tai poistetaan käytöstä Linuxissa alla olevilla esimerkeillä:

1. Aseta ja poista paikalliset muuttujat Linuxissa

a.) Tässä luomme paikallisen muuttujan VAR1 ja asetamme sen mihin tahansa arvoon. Sitten poistamme paikallisen muuttujan komennolla unset, ja lopuksi kyseinen muuttuja poistetaan.

VAR1='TecMint is best Site for Linux Articles'
echo $VAR1
unset VAR1
echo $VAR1

b.) Toinen tapa luoda paikallinen muuttuja on käyttää export-komentoa. Luotu paikallinen muuttuja on käytettävissä nykyisessä istunnossa. Jos haluat poistaa muuttujan asetuksen, aseta muuttujan arvoksi ''.

export VAR='TecMint is best Site for Linux Articles'
echo $VAR
VAR=
echo $VAR

c.) Tässä loimme paikallisen muuttujan VAR2 ja asetimme sille arvon. Suoritimme sitten komennon 'env –i', jotta voimme suorittaa väliaikaisesti kaikki paikalliset ja muut ympäristömuuttujat tyhjentävän komennon. Tämä komento suoritti bash-kuoren tyhjentämällä kaikki muut ympäristömuuttujat. Kun kirjoitetaan 'exit' kutsutussa bash-kuoressa, kaikki muuttujat palautetaan.

VAR2='TecMint is best Site for Linux Articles'
echo $VAR2
env -i bash
echo $VAR2   

2. Aseta ja poista käyttäjän laajuiset ympäristömuuttujat Linuxissa

a.) Muokkaa kotihakemistossasi olevaa .bashrc-tiedostoa viedäksesi tai asettaaksesi lisättävän ympäristömuuttujan. Tämän jälkeen lähde tiedosto, jotta muutokset tulevat voimaan. Silloin muuttuja ( minun tapauksessani 'CD') tulee voimaan. Tämä muuttuja on käytettävissä aina, kun avaat uuden terminaalin tälle käyttäjälle, mutta ei etäkirjautumisistunnoissa.

vi .bashrc

Lisää seuraava rivi .bashrc-tiedostoon alareunassa.

export CD='This is TecMint Home'

Suorita nyt seuraava komento tehdäksesi uusia muutoksia ja testataksesi sitä.

source .bashrc 
echo $CD

Voit poistaa tämän muuttujan poistamalla seuraavan rivin .bashrc-tiedostosta ja hankkimalla sen uudelleen:

b.) Muokkaa .bash_profile-tiedostoa, jos haluat lisätä muuttujan, joka on käytettävissä etäkirjautumisistunnoissa (eli kun ssh-kirjaudut käyttäjälle etäjärjestelmästä).

vi .bash_profile

Lisää seuraava rivi .bash_profile-tiedostoon alareunassa.

export VAR2='This is TecMint Home'

Kun haet tätä tiedostoa, muuttuja on käytettävissä, kun ssh tälle käyttäjälle, mutta ei uutta paikallista päätettä avattaessa.

source .bash_profile 
echo $VAR2

Tässä VAR2 ei ole alun perin saatavilla, mutta muuttuja tulee saataville tehdessäsi ssh:n käyttäjälle localhostissa.

ssh tecmint@localhost
echo $VAR2

Voit poistaa tämän muuttujan poistamalla lisäämäsi rivin .bash_profile-tiedostosta ja hankkimalla tiedoston uudelleen.

HUOMAA: Nämä muuttujat ovat käytettävissä joka kerta, kun kirjaudut sisään nykyiselle käyttäjälle, mutta eivät muille käyttäjille.

3. Aseta ja poista järjestelmän laajuiset ympäristömuuttujat Linuxissa

a.) Jos haluat lisätä järjestelmän laajuisen ei-kirjautumismuuttujan (eli sellaisen, joka on kaikkien käyttäjien käytettävissä, kun joku heistä avaa uuden päätteen, mutta ei, kun ketään koneen käyttäjää käytetään etänä), lisää muuttuja kohtaan /etc/bash.bashrc-tiedosto.

export VAR='This is system-wide variable'

Tämän jälkeen lähde tiedostoon.

source /etc/bash.bashrc 

Nyt tämä muuttuja on jokaisen käyttäjän käytettävissä, kun hän avaa uuden terminaalin.

echo $VAR
sudo su
echo $VAR
su -
echo $VAR

Täällä sama muuttuja on saatavilla juurikäyttäjälle sekä tavalliselle käyttäjälle. Voit varmistaa tämän kirjautumalla sisään toiselle käyttäjälle.

b.) Jos haluat, että jokin ympäristömuuttuja on käytettävissä, kun joku koneen käyttäjistä on etäkirjautuneena sisään, mutta ei avattaessa mitään uutta päätettä paikallisella koneella, sinun on muokattava tiedostoa – '/etc/profile'.

export VAR1='This is system-wide variable for only remote sessions'

Kun olet lisännyt muuttujan, hanki tiedosto uudelleen. Silloin muuttuja olisi käytettävissä.

source /etc/profile
echo $VAR1

Jos haluat poistaa tämän muuttujan, poista rivi /etc/profile-tiedostosta ja lähde se uudelleen.

c.) Jos kuitenkin haluat lisätä minkä tahansa ympäristön, jonka haluat olevan käytettävissä kaikkialla järjestelmässä, sekä etäkirjautumisistunnoissa että paikallisissa istunnoissa (eli uuden pääteikkunan avaamisessa) kaikille käyttäjiä, vie vain muuttuja /etc/environment-tiedostoon.

export VAR12='I am available everywhere'

Tämän jälkeen vain lähde tiedostoon ja muutokset astuvat voimaan.

source /etc/environment
echo $VAR12
sudo su
echo $VAR12
exit
ssh localhost
echo $VAR12

Täällä, kuten näemme, ympäristömuuttuja on saatavilla normaalille käyttäjälle, pääkäyttäjälle sekä etäkirjautumisistunnossa (täältä localhost).

Poista tämä muuttuja poistamalla merkintä tiedostosta /etc/environ ja hanki se uudelleen tai kirjaudu sisään uudelleen.

HUOMAA: Muutokset tulevat voimaan, kun hankit tiedoston. Mutta jos ei, sinun on ehkä kirjauduttava ulos ja uudelleen sisään.

Johtopäätös

Näin ollen nämä ovat muutamia tapoja, joilla voimme muokata ympäristömuuttujia. Jos löydät uusia ja mielenkiintoisia temppuja samaan, mainitse kommenteissasi.