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.