M. Garrelsas. bash vadovas

2.2. aplinkos įvairovė

Operacinė sistema palaiko specialų išteklių, vadinamą aplinkos įvairovė (aplinkos įvairovė). Šie kintamieji yra pora PAVADINIMAS – VALUE . Pavadinimas gali prasidėti raide ir susideda iš raidžių, skaičių ir apatinių brūkšnių.

Norėdami pakeisti kintamojo reikšmę komandinėje eilutėje, prieš kintamojo pavadinimą rašomas $ ženklas:

$ echo $USER svečias

Jei kintamasis nenustatytas, grąžinama tuščia eilutė.

Kintamojo reikšmei nustatyti naudojamas priskyrimo sakinys (Bourne tipo apvalkalų atveju):

$ TEST = testas

arba integruotas rinkinio sakinys (C-likes atveju):

$ set TEST=testas

Komanda set be argumentų pateikia visų aplinkoje nustatytų kintamųjų reikšmes:

$ set COLUMNS=197 CVS_RSH=ssh DIRSTACK=() EUID=1000 GROUPS=() G_BROKEN_FILENAMES=1 HISTFILE=/namai/svečias/.bash_history HISTFILESIZE=1000 HISTSIZE=1000 HOME=/namai/Svečias8 =$" \t\n" INPUTRC=/etc/inputrc KDEDIR=/usr KDEDIRS=/home/guest/.local/ KDE_IS_PRELINKED=1 KDE_NO_IPV6=1 LANG=ru_RU.UTF-8 LESSOPEN="|/usr/bin/ lesspipe.sh %s" LINES=65 LOGNAME=svečias ....

Kintamieji gali būti vietiniai tam tikram procesui arba visuotiniai seansui. Galite nustatyti vietines kintamųjų reikšmes prieš jas naudodami komandas:

$ TEST=test1 sh -c "echo $TEST" test1

Galite įvertinti seanso kintamųjų rinkinio turinį iškviesdami integruotą env interpretatoriaus komandą, jei tai Bourne tipo interpretatoriai (sh, ksh, bash, zsh, pdksh...) ir printenv jei naudojate C-Shell klonų interpretatorius (csh, tcsh. ..):

$ env HOSTNAME=mano priegloba TERM=xterm SHELL=/bin/bash HISTSIZE=1000 KDE_NO_IPV6=1 SSH_CLIENT=172.16.0.9 50487 22 QTDIR=/usr/lib/qt-3.3 QTINC=/int-3SHT3/TYQ+ =/dev/pts/6 USER=svečias MOZILLA_CERTIFICATE_FOLDER=/home/guest/.evolution/ KDEDIR=/usr MAIL=/var/spool/mail/guest PATH=/usr/games:/usr/local/bin:/bin :/usr/bin:/home/guest/bin INPUTRC=/etc/inputrc PWD=/home/guest KDE_IS_PRELINKED=1 LANG=ru_RU.UTF-8 KDEDIRS=/home/guest/.local/ SSH_ASKPASS=/usr/libexec /openssh/gnome-ssh-askpass SHLVL=1 HOME=/home/guest LOGNAME=svečias QTLIB=/usr/lib/qt-3.3/lib CVS_RSH=ssh SSH_CONNECTION=172.16.0.9 50487 172.16.2.2ESSr9EN| /bin/lesspipe.sh %s G_BROKEN_FILENAMES=1 _=/bin/env

Komandų rinkiniai Lukštas gali būti susieti į paketinius failus, vadinamus scenarijais, kur pirmoji specialios rūšies komentaro eilutė nurodo komandų interpretatorių, skirtą šiam rinkiniui vykdyti. Pavyzdžiui, teksto rengyklėje sukurkime failą, pavadintą test , su tokiu turiniu:

#!/bin/sh echo TEST kintamasis: echo $TEST

Ši programa išves standartinė išvestis tekstinį pranešimą "Kintamasis TEST: " ir kintamojo TEST reikšmę, jei ji nustatyta. Paleiskite jį nuo komandinė eilutė Galite perduoti jį kaip parametrą apvalkalui:

$ sh test Kintamasis TEST:

Galite sukurti visuotinį kintamąjį naudodami teiginį eksportuoti (Bourne) arba setenv (C-SHell):

$ export TEST=test1 $ sh testas Kintamasis TEST: test1

Galite nustatyti vietines kintamųjų reikšmes šios programos vykdymui, prieš jas nurodydami komandas:

$ TEST=test2 sh testas Kintamasis TESTAS: test2

Aplinkos kintamieji pašalinami naudojant teiginį unset.

Aplinkos kintamieji yra specialūs kintamieji, kurie yra apibrėžti apvalkale ir reikalingi programoms arba scenarijus vykdymo metu. Juos gali apibrėžti sistema arba vartotojas. Sistemos nustatyti kintamieji yra tie, kuriuos nustato sistema.

Pavyzdžiui, komandą PWD yra labai dažnas sistemos kintamasis, naudojamas dabartiniam darbo katalogui saugoti. Vartotojo kintamieji paprastai nustatomi laikinai arba visam laikui dabartiniam apvalkalui. Visa aplinkos nustatymų konfigūravimo ir keitimo koncepcija sukasi apie failų rinkinį ir kelias komandas bei skirtingus apvalkalus.

Tiksliau, aplinkos kintamasis gali būti trijų tipų:

1. Vietos aplinkos kintamasis

Jis apibrėžiamas dabartinei sesijai. Šie aplinkos kintamieji naudojami dabartinės sesijos metu, nesvarbu, ar tai nuotolinio prisijungimo seansas, ar vietinis terminalo seansas. Šie kintamieji nenurodomi jokiuose konfigūracijos failuose ir yra sukuriami bei pašalinami naudojant specialų komandų rinkinį.

2. Vartotojo aplinkos kintamasis

Tai yra konkretaus vartotojo kintamieji, kurie įkeliami kiekvieną kartą, kai vartotojas prisijungia naudodamas vietinį terminalo seansą arba jei tas vartotojas prisijungia naudodamas nuotolinio prisijungimo seansą. Šie kintamieji paprastai nustatomi ir įkeliami iš šių konfigūracijos failų: .bashrc,.bash_profile,.bash_login,.profilis, kurie yra vartotojo namų kataloge.

3. Sistemos aplinkos kintamieji

Tai yra aplinkos kintamieji, kurie yra prieinami visoje sistemoje, ty visiems toje sistemoje esantiems vartotojams. Šie kintamieji yra visos sistemos konfigūracijos failuose, esančiuose šiuose kataloguose ir failuose: /etc/environment,/etc/profile, /etc/profile.d/, /etc/bash.bashrc. Šie kintamieji įkeliami kiekvieną kartą, kai sistema įjungiama ir vartotojai prisijungia vietoje arba nuotoliniu būdu.

Bendrai naudojamų ir visos sistemos konfigūracijos failų supratimas

Čia trumpai apibūdinsime įvairius aukščiau išvardytus konfigūracijos failus, kuriuose yra aplinkos kintamieji, tiek sistemos, tiek vartotojo.

.bashrc

Šis failas yra vartotojo failas, kuris įkeliamas kiekvieną kartą, kai vartotojas sukuria naują vietinę sesiją, t.y. paprastais žodžiais, atidaro naują terminalą. Visi šiame faile sukurti aplinkos kintamieji įsigalioja kiekvieną kartą, kai pradedama nauja vietinė sesija.

.bash_profile

Šiame faile išvardyti aplinkos kintamieji iškviečiami kiekvieną kartą, kai vartotojas prisijungia nuotoliniu būdu, t. y. su komanda ssh. Jei šio failo nėra, sistema ieško failų .bash_login arba .profilis.

/etc/environment

Šis failas yra sistemos failas, skirtas bet kokiems aplinkos kintamiesiems kurti, redaguoti arba ištrinti. Šiame faile sukurti aplinkos kintamieji yra prieinami visoje sistemoje, kiekvienam vartotojui visame pasaulyje, tiek lokaliai, tiek nuotoliniu būdu.

/etc/bash.bashrc

Sistemos failas bashrc. Šis failas atsisiunčiamas vieną kartą vienam vartotojui, kiekvieną kartą, kai vartotojas atidaro vietinio terminalo seansą. Šiame faile sukurti aplinkos kintamieji yra prieinami visiems vartotojams, tačiau tik per vietinį terminalo seansą. Kai bet kuris šio kompiuterio vartotojas ištrinamas per nuotolinio prisijungimo seansą, šie kintamieji nebus matomi.

/etc/profile

Visi šiame faile sukurti kintamieji yra prieinami kiekvienam sistemos vartotojui, tačiau tik tuo atveju, jei ta vartotojo sesija iškviečiama nuotoliniu būdu, ty per nuotolinį prisijungimą. Joks kintamasis šiame faile nebus pasiekiamas vietiniam prisijungimo seansui, t.y. kai vartotojas savo vietinėje sistemoje atidaro naują terminalą.

Pastaba. Aplinkos kintamuosius, sukurtus naudojant visos sistemos arba vartotojo apibrėžtus konfigūracijos failus, galima ištrinti, tačiau tai galite padaryti tik iš tų failų. Iškart po kiekvieno šių failų pakeitimo atsijunkite arba vėl prisijunkite arba tiesiog terminale įveskite šią komandą, kad pakeitimai įsigaliotų:

$ šaltinis

Vietinių arba seanso aplinkos kintamųjų nustatymas arba pašalinimas sistemoje „Linux“.

Vietos aplinkos kintamuosius galima sukurti naudojant šias komandas:

$ var=vertė ARBA $ eksportuoti var=vertė

Šie kintamieji yra seanso kintamieji ir galioja tik dabartinei terminalo sesijai. Norėdami išvalyti šiuos aplinkos kintamuosius, galite naudoti šias komandas:

1. Naudojimas env

Numatytoji komanda yra " env» išvardija visus esamus aplinkos kintamuosius. Bet jei naudojamas su raktu " -i“, tada jis laikinai išvalo visus aplinkos kintamuosius ir leidžia vartotojui paleisti komandą dabartinėje sesijoje, jei nėra visų aplinkos kintamųjų.

$ env -i ... komanda args ...

Čia var = reikšmė atitinka bet kurį vietinį aplinkos kintamasis, kurią norite naudoti tik su šia komanda.

$ env -i bash

Pradedame bash apvalkalą, kuriame visi aplinkos kintamieji bus laikinai išvalyti. Bet kai išeisite iš apvalkalo, visi kintamieji bus atkurti.

2. Naudodami Atšaukti

Kitas būdas išvalyti vietinį aplinkos kintamąjį yra naudoti komandą nenustatyta. Norėdami laikinai išjungti bet kurį vietinės aplinkos kintamąjį,

$nustatytas

kur, var-vardas yra vietinio kintamojo, kurį norite ištrinti arba išvalyti, pavadinimas.

3. Nustatykite kintamojo pavadinimą naudodami tuščia vertė

Kitas mažiau populiarus būdas – kintamojo, kurį norite išvalyti, pavadinimą nustatyti tuščią reikšmę, t.y. VAR=(po lygių nėra nieko – paspauskite enter). Tai išvalys dabartinės sesijos, kuriai jis aktyvus, vietinio kintamojo reikšmę.

PASTABA. GALITE PAKEISTI SISTEMOS KINTAMIEJUS, BET PAKEITIMAI ATSISPĖS TIK DABARTINĖJE SESIJOJE IR NEBUS NUSTATYTI.

Sužinokite, kaip kurti, vartotojo ir sistemos aplinkos kintamuosius sistemoje „Linux“.

Šiame skyriuje apžvelgsime, kaip nustatyti arba išjungti vietinius, vartotojo ir sistemos aplinkos kintamuosius sistemoje „Linux“, naudodamiesi toliau pateiktais pavyzdžiais:

1. Vietinių kintamųjų nustatymas ir pašalinimas sistemoje Linux.

a) Čia sukuriame vietinį kintamąjį VAR1 ir nustatykite bet kokią vertę. Tada naudojame nenustatyta ir pabaigoje ištriname šį kintamąjį.

$ VAR1="TecMint yra geriausia svetainė Linux straipsniams" $ echo $VAR1 $ atšaukta VAR1 $ echo $VAR1

b) Kitas būdas sukurti vietinį kintamąjį yra naudoti komandą eksportuoti. Sukurtas vietinis kintamasis bus pasiekiamas dabartinei sesijai. Norėdami išjungti kintamąjį, tiesiog nustatykite kintamąjį į tuščią reikšmę.

$ export VAR="TecMint yra geriausia svetainė Linux straipsniams" $ echo $VAR $ VAR= $ echo $VAR

c) Čia sukūrėme vietinį kintamąjį VAR2 ir nustatykite jo vertę. Tada, norėdami paleisti komandą, laikinai išvalydami visus vietinius ir kitus aplinkos kintamuosius, paleidome komandą " env -i“. Ši komanda pradėjo apvalkalą bash, išvalydami visus kitus aplinkos kintamuosius. Įėjus " išeiti» vadinamame apvalkale bash visi kintamieji bus atkurti.

$ VAR2="TecMint yra geriausia svetainė Linux straipsniams" $ echo $VAR2 $ env -i bash $ echo $VAR2

2. Vartotojo aplinkos kintamųjų nustatymas ir pašalinimas sistemoje Linux.

a) Pakeiskite failą .bashrc savo namų kataloge, kad eksportuotumėte arba nustatytumėte aplinkos kintamąjį, kurį norite pridėti. Po to paleiskite failą, kad pakeitimai įsigaliotų. Tada pamatysite kintamąjį (mano atveju „CD“), kuris įsigaliojo. Šis kintamasis bus pasiekiamas kiekvieną kartą, kai atidarysite naują terminalą šiam vartotojui, bet ne nuotolinio prisijungimo seansams.

$ vi .bashrc

.bashrc.

Eksportuoti kompaktinį diską = Tai yra „TecMint Home“

Dabar paleiskite šią komandą, kad nauji pakeitimai įsigaliotų, ir patikrinkite kintamąjį.

$ šaltinis .bashrc $ echo $CD

Norėdami pašalinti šį kintamąjį, tiesiog ištrinkite failo eilutę. bashrc ir vėl įeikite į apvalkalą.

b) Norėdami pridėti kintamąjį, kuris bus pasiekiamas nuotolinio prisijungimo seansams, pakeiskite failą .bash_profile.

$ vi .bash_profile

Pridėkite šią eilutę prie failo .bash_profile.

Eksportuoti VAR2="Tai yra TecMint Home"

Kintamasis bus pasiekiamas vykdant nuotoliniu būdu ssh prisijungti prie to vartotojo, bet ne atidarant naują vietinį terminalą.

$ šaltinis .bash_profile $ echo $ var2

Čia VAR2 iš pradžių nepasiekiamas, bet kai prisijungiate nuotoliniu būdu naudodami ssh vartotojas įjungtas vietinis šeimininkas, kintamasis tampa prieinamas.

$ ssh $ echo $ var2

Norėdami pašalinti šį kintamąjį, tiesiog pašalinkite failo eilutę .bash_profile kad pridėjote ir iš naujo perskaitėte failą.

PASTABA. Šie kintamieji bus pasiekiami kiekvieną kartą prisijungus dabartiniam vartotojui, bet ne kitiems vartotojams.

3. Sistemos aplinkos kintamųjų nustatymas ir pašalinimas Linux sistemoje.

a) Pridėti neprisijungimo sistemos kintamąjį (t. y. tokį, kuris pasiekiamas visiems vartotojams, kai kuris nors iš jų atidaro naują terminalą, bet ne tada, kai yra Nuotolinis prisijungimas bet kuris įrenginio vartotojas) pridėkite šį kintamąjį prie failo /etc/bash.bashrc.

Eksportuoti VAR="Tai visos sistemos kintamasis"

Tada dar kartą perskaitykite failą.

$source /etc/bash.bashrc

Šis kintamasis dabar bus prieinamas kiekvienam vartotojui, kai jis atidarys naują terminalą.

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

Čia kintamasis yra prieinamas tiek pagrindiniam, tiek įprastam vartotojui. Tai galite patikrinti prisijungę kaip kitas vartotojas.

b) Jei norite, kad koks nors aplinkos kintamasis būtų pasiekiamas, kai kuris nors iš jūsų kompiuterio vartotojų prisijungė nuotoliniu būdu, bet neatidarė jokio naujo terminalo vietinis kompiuteris, reikia redaguoti failą − /etc/profile .

Eksportuoti VAR1="Tai visos sistemos kintamasis, skirtas tik nuotolinėms sesijoms"

Pridėję kintamąjį, tiesiog dar kartą perskaitykite failą. Tada kintamasis bus prieinamas.

$source/etc/profile $echo $var1

Norėdami pašalinti šį kintamąjį, pašalinkite eilutę iš failo /etc/profile ir perskaitykite.

c) Tačiau, jei norite pridėti kintamąjį į bet kurią aplinką, kurioje norite, kad jis būtų pasiekiamas visoje sistemoje, tiek nuotolinio prisijungimo seansams, tiek vietiniams visų vartotojų seansams, tiesiog eksportuokite kintamąjį į /etc/environment.

Eksportuoti VAR12="Esu pasiekiamas visur"

Po to tiesiog perskaitykite failą ir pakeitimai įsigalios.

$ šaltinis /etc/environment $ echo $VAR12 $ sudo su $ echo $VAR12 $ išeiti $ ssh localhost $ echo $VAR12

Čia matome, kad aplinkos kintamasis yra prieinamas įprastam vartotojui, pagrindiniam vartotojui ir nuotolinio prisijungimo seansui.

Norėdami išvalyti šį kintamąjį, tiesiog ištrinkite failo įrašą /etc/environment ir dar kartą perskaitykite failą.

PASTABA. Pakeitimai įsigalioja, kai failas yra perskaitomas /etc/environment. Bet jei ne, gali tekti atsijungti ir vėl prisijungti.

Užduokite klausimus apie straipsnį toliau pateiktuose komentaruose.

Ačiū, kad skyrėte laiko perskaityti straipsnį!

Jei turite klausimų, užduokite juos komentaruose.

Prenumeruokite mūsų tinklaraščio naujienas ir gaukite naujienas apie infokomunikacijų pasaulį!

Norėdami sužinoti daugiau ir išsiskirti iš IT žmonių minios, užsiregistruokite į Cisco kursus iš Cisco akademijos, Linux kursus iš Linux Professional Institute.

  • Pasiteirausime dėl patogaus laiko praktikai ir derinsime: suprantame, kad laiko mokytis neužtenka.
  • Jeigu norite individualaus grafiko, aptarsime ir įgyvendinsime.
  • Nustatysime aiškius terminus saviorganizacijai. Asmeninis kuratorius susisieks ir atsakys į klausimus, patars ir motyvuos laikytis egzaminų laikymo terminų.
  • Taip pat padėsime:

    Aplinkos kintamieji Linux sistemoje yra specialūs kintamieji, kuriuos apibrėžia apvalkalas ir kuriuos vykdant naudoja programos. Juos gali apibrėžti sistema ir vartotojas. Linux sistemos aplinkos kintamuosius apibrėžia sistema ir naudoja sistemos lygio programos.

    Pavyzdžiui, komanda PWD naudoja sistemos kintamąjį, kad išlaikytų seną darbo katalogą. Vartotojo aplinkos kintamuosius nustato vartotojas dabartiniam apvalkalui laikinai arba visam laikui. Visa apvalkalo kintamųjų pridėjimo ir pašalinimo koncepcija sukasi aplink kelis failus, komandas ir įvairius apvalkalus.

    Kalbant plačiau, aplinkos kintamasis gali būti trijų tipų:

    1. Vietos aplinkos kintamieji

    Šie kintamieji apibrėžiami tik dabartinei sesijai. Jie bus visam laikui ištrinti pasibaigus seansui, nesvarbu, ar tai būtų nuotolinė prieiga, ar terminalo emuliatorius. Jie nesaugomi jokiuose failuose, o sukuriami ir ištrinami naudojant specialias komandas.

    2. Vartotojo apvalkalo kintamieji

    Šie Linux apvalkalo kintamieji yra apibrėžti konkrečiam vartotojui ir įkeliami kiekvieną kartą, kai vartotojas prisijungia naudodamas vietinį terminalą arba prisijungia nuotoliniu būdu. Tokie kintamieji dažniausiai saugomi konfigūracijos failuose: .bashrc, .bash_profile, .bash_login, .profile arba kituose failuose, esančiuose vartotojo kataloge.

    3. Sistemos aplinkos kintamieji

    Šie kintamieji yra prieinami visoje sistemoje visiems vartotojams. Jie įkeliami paleidžiant sistemą iš sistemos konfigūracijos failų: /etc/environment, /etc/profile, /etc/profile.d/ /etc/bash.bashrc.

    Linux aplinkos kintamųjų konfigūracijos failai

    Čia trumpai apžvelgsime įvairius aukščiau išvardintus konfigūracijos failus, kurie naudojami visos sistemos ar konkretaus vartotojo aplinkos kintamiesiems nustatyti.

    .bashrc

    Tai yra vartotojo specifinis kintamasis failas. Jis įkeliamas kiekvieną kartą, kai vartotojas sukuria terminalo seansą, ty, kitaip tariant, atidaro naują terminalą. Visi šiame faile sukurti aplinkos kintamieji įsigalioja kiekvieną kartą, kai pradedama nauja terminalo sesija.

    .bash_profile

    Šie kintamieji įsigalioja kiekvieną kartą, kai vartotojas prisijungia nuotoliniu būdu per SSH. Jei šio failo nėra, sistema ieškos .bash_login arba .profile.

    /etc/environment

    Šis failas skirtas kurti, redaguoti ir ištrinti bet kokius aplinkos kintamuosius sistemos lygiu. Šiame faile sukurti aplinkos kintamieji yra prieinami visai sistemai, kiekvienam vartotojui ir net prijungus nuotoliniu būdu.

    /etc/bash.bashrc

    Sistema bashrc. Šis failas vykdomas kiekvienam vartotojui kiekvieną kartą, kai jis sukuria naują terminalo seansą. Tai veikia tik vietiniams vartotojams, prisijungus per internetą tokie kintamieji nebus matomi.

    /etc/profile

    Sistemos failo profilis. Visi šio failo kintamieji yra prieinami bet kuriam sistemos vartotojui tik tuo atveju, jei yra prisijungę nuotoliniu būdu. Bet jie nebus pasiekiami kuriant vietinį terminalo seansą, t. y. jei tik atidarysite terminalą.

    Visus Linux aplinkos kintamuosius, sukurtus naudojant šiuos failus, galima pašalinti tiesiog ištrinant juos iš ten. Tik po kiekvieno pakeitimo turite arba atsijungti ir prisijungti, arba paleisti šią komandą:

    šaltinio failo pavadinimas

    Vartotojo ir sistemos aplinkos kintamųjų pridėjimas sistemoje „Linux“.

    Dabar, kai žinote šiek tiek teorijos, pereikime prie praktikos. Vietos aplinkos kintamieji Linux sistemoje gali būti sukurti naudojant šias komandas:

    var=vertė
    $ eksportuoti var=vertė

    Šie kintamieji bus pasiekiami tik dabartinėje terminalo sesijoje.

    Aplinkos kintamiesiems pašalinti gali būti naudojamos kelios komandos:

    1. Naudojant env

    Pagal numatytuosius nustatymus env gali būti naudojamas visiems nustatytiems aplinkos kintamiesiems peržiūrėti. Tačiau naudojant -i parinktį, ji leidžia laikinai pašalinti visus apvalkalo kintamuosius ir paleisti komandą be kintamųjų.

    env -i komanda

    Var yra bet koks kintamasis, kurį norite perduoti šiai komandai.

    Ši komanda paleis apvalkalą be aplinkos kintamųjų:

    Paleidus tokią aplinką, kintamieji nebus pasiekiami, bet išėjus viskas grįš į savo vietas.

    2. Naudojant išjungtą

    Tai dar vienas būdas pašalinti Linux aplinkos kintamuosius. Unset pašalina kintamąjį pagal pavadinimą iki dabartinės sesijos pabaigos:

    atšaukti kintamojo_pavadinimą

    3. Nustatykite kintamojo reikšmę į „“

    Tai lengviausias būdas ištrinti aplinkos kintamuosius sistemoje „Linux“, nustatydami kintamąjį tuščią, ištrinsite jį likusią dabartinės sesijos dalį.

    Pastaba: naudodami šiuos metodus galite pakeisti sistemos ar vartotojo kintamųjų reikšmes, tačiau jos bus svarbios tik dabartinei sesijai.

    Vartotojo ir sistemos aplinkos kintamųjų kūrimas

    Šiame skyriuje apžvelgsime, kaip nustatyti ir pašalinti sistemos ir vartotojo kintamuosius ne tik dabartinei sesijai, bet ir taip, kad poveikis išliktų ir po perkrovimo.

    1. Nustatykite ir pašalinkite vietinius kintamuosius sistemoje „Linux“.

    Sukurkime vietinį kintamąjį VAR ir nustatykime bet kokią reikšmę, tada pašalinkime jį nustačius ir įsitikinkime, kad jis pašalintas:

    VAR1="Pralaimėjimas"
    $ echo $VAR1
    $ atšauktas VAR1
    $ echo $VAR1

    Kitas būdas sukurti kintamąjį yra eksportavimo komanda. Pašalinkite jį priskirdami tuščią reikšmę:

    eksportuoti VAR="Loss"
    $ echo $VAR
    $var=
    $ echo $VAR

    Dabar sukurkime kintamąjį VAR2 ir suteikime jam reikšmę. Tada laikinai pašalinkite visus vietinius kintamuosius paleisdami env -i. Jis paleis apvalkalą be jokių kintamųjų. Įvedus exit, visi kintamieji bus atkurti.

    VAR2="Pralaimėjimas"
    $ echo $VAR2
    $ env -i bash
    $ echo $VAR2

    Vartotojo kintamųjų nustatymas ir pašalinimas

    Redaguokite .bashrc failą savo namų kataloge pridėdami eksporto komandą, kad eksportuotumėte norimą kintamąjį. Tada paleiskite šaltinio komandą, kad pritaikytumėte pakeitimus. Sukurkime, pavyzdžiui, CD kintamąjį:

    Pridėkite šią eilutę (o, tada įklijuokite, tada Esc ir :wq):

    eksportuoti kompaktinį diską = "Tai prarasti namai"

    Dabar belieka atnaujinti konfigūraciją:

    šaltinis .bashrc
    $ echo $ CD

    Norėdami pašalinti šį kintamąjį, tiesiog pašalinkite jį iš .bashrc.

    Dabar pridėkime aplinkos kintamąjį su .bash_profile. Šis kintamasis, kaip jau žinote, bus pasiekiamas tik prisijungus nuotoliniu būdu:

    vi .bash_profile

    Pridėti eilutę:

    export VAR2="Tai prarasti namai"

    Ir paleiskite šias komandas, kad pritaikytumėte pakeitimus ir patikrintumėte kintamojo pridėjimą:

    šaltinis .bash_profile
    $ echo $VAR2

    Kintamasis nepasiekiamas, nes sukūrėte vietinį terminalo seansą, dabar prisijunkite per ssh:

    ssh [apsaugotas el. paštas]
    $ echo $VAR2

    Šį aplinkos kintamąjį galite ištrinti taip pat, kaip ir ankstesniu atveju, ištrindami jį iš failo.

    komentaras: Šie kintamieji visada pasiekiami, bet ne visiems vartotojams.

    Sistemos aplinkos kintamųjų nustatymas ir pašalinimas

    Sukurkime kintamąjį, prieinamą visiems vartotojams visuose terminalo seansuose, išskyrus nuotolinius, įtraukdami jį į /etc/bash.profile:

    vi /etc/bash.profile

    export VAR="Tai visos sistemos kintamasis"

    Tada atnaujiname:

    šaltinis /etc/bash.bashrc

    Dabar šis kintamasis pasiekiamas visiems vartotojams visuose terminaluose:

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

    Jei norite, kad aplinkos kintamasis būtų prieinamas visiems vartotojams, kurie prisijungia prie šio įrenginio nuotoliniu būdu, redaguokite failą /etc/profile:

    export VAR1="Tai visos sistemos kintamasis, skirtas tik nuotolinėms sesijoms"

    Atnaujinkite konfigūraciją ir patikrinkite kintamojo prieinamumą, jis bus pasiekiamas tik nuotoliniu būdu:

    šaltinis /etc/profile
    $ echo $VAR1

    Jei Linux sistemoje reikia pridėti aplinkos kintamąjį, kad jis būtų pasiekiamas ir nuotoliniam, ir vietiniam seansui, eksportuokite jį į /etc/environon:

    vi /etc/environment

    export VAR12="Esu pasiekiamas visur"

    Mes tikriname:

    šaltinis /etc/environment
    $ echo $VAR12
    $ sudo su
    $ echo $VAR12
    $išėjimas
    $ ssh localhost
    $ echo $VAR12

    Aplinkos įvairovė ( aplinkos kintamasis) naudojami bendroms scenarijų ir programų kintamųjų reikšmėms saugoti. Tokius kintamuosius galima nustatyti tam tikram laikotarpiui, pavyzdžiui, konkretaus terminalo apvalkalo veikimo laikotarpiui arba vartotojo seanso laikotarpiui, arba galite nustatyti aplinkos kintamąjį globaliu lygiu – visai sistemai. .

    Aplinkos įvairovė

    $HOME
    Kintamajame yra kelias į dabartinio vartotojo namų katalogą. $USER
    Dabartinis vartotojo vardas $PATH
    Katalogų, skirtų apvalkalui vykdyti vykdomų programų paieškai, sąrašas. $ PWD
    Kelias į dabartinį darbo katalogą (arba pwd). Pavyzdys: dir_path=$(pwd) . $SHELL
    Numatytasis vertėjas $RANDOM
    Sugeneruoja atsitiktinį skaičių 0..32767 kiekvieną kartą, kai pasiekiamas kintamasis. SECONDS $
    Laikas sek. nuo apvalkalo pradžios. $? Ankstesnės komandos rezultatas. $HOSTNAME
    Kompiuterio pavadinimas $HISTFILE
    Kelias į $IFS vertėjo istorijos failą
    Komandų, parametrų, masyvo elementų skyriklio simbolių sąrašas (numatytasis: tarpas, skirtukas, nauja eilutė) $PS1
    Vertėjo raginimo eilutės šablonas.

    Laikinas aplinkos kintamojo nustatymas

    Aplinkos kintamojo nustatymas seanso laikotarpiui:

    # Naujam procesui env varname=value [command] # Dabartiniam apvalkalui ir visiems jo subprocesams eksportuoti varname=value [komandą]

    Kintamojo reikšmė išsaugoma tol, kol sistema paleidžiama iš naujo.

    Pastovios vertės nustatymas

    Sistemos lygio aplinkos kintamieji nustatomi per failą /etc/environment:

    APLINKA = "dev"

    Konkretaus vartotojo aplinkos kintamojo nustatymas naudojant ~/.bashrc arba ~/.bash_profile:

    PATH="$(PATH):/home/user/bin:"

    Dėmesio!

    Failas ~/.bash_profile bus paleistas, kai vertėjas bus paleistas su -l parinktimi. Kai prisijungiate vietoje, šis failas neįskaitomas!

    Taip pat reikia atsiminti, kad pakeitimai įsigalios tik paleidus seansą iš naujo!

    Aplinkos kintamojo reikšmės peržiūra

    Norėdami peržiūrėti aplinkos kintamojo reikšmę, naudokite komandą printenv:

    Printenv<имя_переменной>

    #apvalkalas, #bash, #aplinka

    Dirbdamas su serveriu apvalkalas surenka daug informacijos, kuri lemia jo elgesį ir prieigą prie išteklių. Kai kurios iš šių parinkčių randamos apvalkalo nustatymuose, kitos nustatomos pagal vartotojo įvestį.

    Vienas iš būdų, kaip apvalkalas seka šią informaciją, yra aplinkos naudojimas. Aplinka yra sritis, kurioje yra sistemą apibrėžiančių kintamųjų, kuriuos apvalkalas sukuria kiekvieną kartą, kai prasideda seansas.

    Šiame vadove paaiškinama, kaip sąveikauti su aplinka ir interaktyviai bei naudojant konfigūracijos failus skaityti arba nustatyti aplinkos ir apvalkalo kintamuosius. Visi veiksmai atliekami naudojant Ubuntu 12.04 VPS, bet bet kurį šiuolaikinį Linux platinimas turėtų veikti taip pat.

    Kaip veikia aplinka ir jos kintamieji

    Kiekvieną kartą, kai suaktyvinama apvalkalo sesija, pradedamas procesas, skirtas rinkti ir kaupti informaciją, kuri turėtų būti prieinama apvalkalui ir jo antriniams procesams. Apvalkalas gauna šiuos duomenis iš daugelio skirtingų sistemos failų ir nustatymų.

    Apskritai aplinka suteikia perdavimo terpę, kuri renka ir nurodo būtinus nustatymus apvalkalo procesą, o tai savo ruožtu perduoda juos savo antriniams procesams.

    Aplinka yra eilutės, kurioje yra raktų ir reikšmių poros, forma. Kelios reikšmės paprastai atskiriamos dvitaškiu (:). Kiekviena pora apskritai atrodo maždaug taip:

    KEY=value1:value2:...

    Jei reikšmėje yra tarpų, reikia naudoti dvigubas kabutes:

    KEY="vertė su tarpais"

    Šiuo atveju raktas reiškia vieno iš dviejų kintamuosius esamų rūšių: aplinkos arba apvalkalo kintamieji.

    aplinkos įvairovė yra kintamieji, kurie buvo apibrėžti dabartiniam apvalkalui ir yra paveldimi visų antrinių apvalkalų arba procesų. Aplinkos kintamieji naudojami perduoti informaciją procesams, pradėtiems iš apvalkalo.

    Korpuso kintamieji yra kintamieji, esantys išskirtinai apvalkale, kuriame jie buvo nustatyti arba apibrėžti. Jie dažnai naudojami dabartiniams duomenims (pvz., esamam darbo katalogui) sekti.

    Paprastai tokie kintamieji žymimi didžiosiomis raidėmis. Tai padeda vartotojams atskirti aplinkos kintamuosius kituose kontekstuose.

    Apvalkalo ir aplinkos kintamųjų išvestis

    Kiekviena sesija stebi savo apvalkalo ir aplinkos kintamuosius. Yra keletas būdų, kaip juos pašalinti.

    Norėdami peržiūrėti visų aplinkos kintamųjų sąrašą, naudokite komandas env arba printenv. Pagal numatytuosius nustatymus jie išves lygiai tą patį rezultatą:

    printenv
    SHELL=/bin/bash
    TERM=xterm
    USER=demuser
    LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd= 40;33;01:or=40;31;01:su=37;41:sg=30;43:ca:...
    MAIL=/var/mail/demouser
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    PWD=/namai/demouser
    LANG=en_US.UTF-8
    SHLVL=1
    HOME=/namai/demouser
    LOGNAME=demuser
    LESSOPEN=| /usr/bin/lesspipe %s
    LESSCLOSE=/usr/bin/lesspipe %s %s
    _=/usr/bin/printenv

    Tai tipiškas printenv ir env komandų išvesties pavyzdys. Šios komandos skiriasi tik keliomis atskiromis funkcijomis. Pavyzdžiui, printenv gali paprašyti atskirų kintamųjų reikšmių:

    printenv SHELL
    /bin/bash

    Komanda env leidžia pakeisti aplinką, kurioje vykdomos programos, perduodant komandai kintamųjų apibrėžimų rinkinį, maždaug taip:

    env VAR1="blahblah" command_to_run command_options

    Kaip minėta pirmiau, antriniai procesai paprastai paveldi pirminio proceso aplinkos kintamuosius, o tai leidžia pakeisti reikšmes arba įvesti papildomus antrinių procesų kintamuosius.

    Kaip matote komandos printenv išvestyje, daugelis aplinkos kintamųjų sukuriami sistemos failais ir procesais be vartotojo įsikišimo.

    Bet kaip jūs žiūrite į apvalkalo kintamuosius?

    Tam naudojama komanda set. Kai įvedamas be papildomų parinkčių, rinkinyje pateikiami visi apvalkalo kintamieji, aplinkos kintamieji, vietiniai kintamieji ir apvalkalo funkcijos:

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

    Paprastai šis sąrašas yra gana ilgas. Norėdami jį rodyti patogesniu formatu, atidarykite jį gaviklio programa:

    Šiame sąraše yra daug papildomos informacijos, kuri šiuo metu nereikalinga (pavyzdžiui, kai kurios bash funkcijos).

    Norėdami „išvalyti“ išvestį, POSIX režimu turite paleisti komandą set, kuri praleidžia apvalkalo funkcijas. Tai turi būti padaryta subshell, kad nebūtų pakeista dabartinė aplinka:

    (set -o posix; set)

    Šis veiksmas išvardins visus aplinkos ir apvalkalo kintamuosius.

    Taip pat galite palyginti šį rezultatą su komandų env/printenv rezultatu ir pabandyti išvardyti tik apvalkalo kintamuosius, tačiau toks sąrašas nebus idealus, nes šios komandos informaciją spausdina skirtingai:

    com-23<(set -o posix; set | sort) <(env | sort)

    Greičiausiai sąraše bus keli aplinkos kintamieji, nes komanda set spausdina reikšmes kabutėse, o komandos printenv ir env – ne.

    Tačiau tai puikus būdas peržiūrėti aplinkos ir apvalkalo kintamuosius, nustatytus tam tikroje sesijoje.

    Tokie kintamieji naudojami įvairiems tikslams. Jie suteikia alternatyvų būdą nustatyti nuolatines seanso reikšmes tarp procesų nekeičiant failo.

    Pagrindinės aplinkos ir apvalkalo kintamieji

    Kai kurie ypač naudingi aplinkos ir apvalkalo kintamieji yra labai dažnai naudojami.

    Toliau pateikiamas pagrindinių aplinkos kintamųjų sąrašas:

    • SHELL: aprašo apvalkalą, kuris interpretuoja įvestas komandas. Daugeliu atvejų bash yra nustatytas pagal numatytuosius nustatymus, tačiau prireikus šią reikšmę galima pakeisti.
    • TERMINAS: Nurodo, kokio tipo terminalas buvo emuliuojamas paleidus apvalkalą. Atsižvelgiant į eksploatacinius reikalavimus, galima emuliuoti skirtingus aparatinės įrangos terminalus. Paprastai dėl to jaudintis nereikia.
    • VARTOTOJAS: Dabartinis vartotojas.
    • PWD: dabartinis darbo katalogas.
    • OLDPWD: ankstesnis darbo katalogas. Apvalkalas išsaugo jį tuo atveju, jei paleisite komandą cd -.
    • LS_SPALVOS: nurodo spalvų kodus, kurie naudojami ls komandos išvesties spalviniam kodui. Tokia išvestis padeda vartotojui greičiau perskaityti komandos rezultatą (pavyzdžiui, greitai atskirti failų tipus).
    • PAŠTAS: kelias į dabartinę vartotojo pašto dėžutę.
    • KELIAS: Katalogų, kuriuos sistema pasiekia vykdydama komandas, sąrašas. Kai vartotojas vykdo komandą, sistema tikrina šiuos katalogus nurodyta vykdomojo failo tvarka.
    • LANG: esami kalbos ir lokalizacijos nustatymai, įskaitant simbolių kodavimą.
    • NAMAI: dabartinio vartotojo namų katalogas.
    • _ : paskutinė įvykdyta komanda.

    Peržiūrėję aplinkos kintamųjų sąrašą, peržiūrėkite apvalkalo kintamųjų sąrašą:

    • BASHOPTS: parinkčių, naudojamų vykdant bash, sąrašas. Tai gali būti naudojama norint patikrinti, ar aplinka veikia tinkamai.
    • BASH_VERSIJA: veikianti bash versija žmonėms suprantama forma.
    • BASH_VERSINFO: bash versija mašininio skaitymo formatu.
    • Stulpeliai: apibrėžia išvesties plotį stulpeliuose.
    • DIRSTUKAS: katalogų krūva, prieinama komandoms pushd ir popd.
    • HISTFILESIZE: didžiausias komandų istorijos failo eilučių skaičius.
    • HISTSIZE: komandų, kurias reikia įsiminti istorijos sąraše, skaičius.
    • HOSTNAME: dabartinis pagrindinio kompiuterio pavadinimas.
    • IFS: Vidinis skirtukas įvesties laukams komandinėje eilutėje. Numatytasis yra tarpas.
    • PS1: apibrėžia pirminę eilutės eilutę – komandinės eilutės išvaizdą pradedant apvalkalo seansą. PS2 kintamasis nustato antrinę eilutės eilutę, jei komanda apima kelias eilutes.
    • SHELLOPTS: apvalkalo parinktys, kurias galima nustatyti su rinkiniu.
    • UID: unikalus dabartinio vartotojo ID.

    Apvalkalo ir aplinkos kintamųjų nustatymas

    Toliau pateikiami keli pavyzdžiai, rodantys skirtumą tarp apvalkalo ir aplinkos kintamųjų ir paaiškinti šių kintamųjų nustatymo sintaksę.

    Korpuso kintamųjų kūrimas

    Pirmiausia turite nustatyti dabartinės sesijos apvalkalo kintamuosius. Tai labai paprasta, tereikia nurodyti pavadinimą ir vertę. Kaip jau minėta, tokių kintamųjų pavadinimams rašyti naudojamos didžiosios raidės.

    TEST_VAR="Sveikas, pasauli!"

    Šiame pavyzdyje naudojamos kabutės, nes reikšmėje yra tarpų. Be to, čia turi būti naudojamos pavienės kabutės, nes šauktukas yra specialus bash apvalkalo simbolis, nurodantis komandų istoriją, nebent jis yra pabėgęs arba įtrauktas į atskiras kabutes.

    Taigi gautas apvalkalo kintamasis galioja dabartinėje sesijoje, bet neperduodamas antriniams procesams.

    Norėdami tai patikrinti, naudokite grep komandą, skirtą set komandos rezultatui:

    rinkinys | grep TEST_VAR
    TEST_VAR="Sveikas, pasauli!"

    Taip pat galite patikrinti, ar nurodytas kintamasis nėra aplinkos kintamasis, paleisdami grep komandos printenv rezultate:

    printenv | grep TEST_VAR

    Šis veiksmas neduos jokio rezultato.

    Tai gali būti naudojama norint atidaryti bet kurio apvalkalo ar aplinkos kintamojo vertę.

    echo $TEST_VAR
    Labas pasauli!

    Kaip matote, norėdami nurodyti kintamojo reikšmę, turite naudoti simbolį $.

    Vėlgi, gautas kintamasis neturėtų būti perduodamas jokiam antriniam procesui. Norėdami tai patikrinti, dabartiniame apvalkale išplėskite naują bash apvalkalą:

    bash
    echo $TEST_VAR

    Jei išplėsite antrinį apvalkalą ir bandysite atidaryti kintamojo turinį, nieko nebus rodoma. Tai reiškia, kad viskas veikia tinkamai.

    Norėdami grįžti į pradinį apvalkalą, įveskite exit:

    Aplinkos kintamųjų kūrimas

    Dabar pabandykite apvalkalo kintamąjį paversti aplinkos kintamuoju. Tai atliekama eksportuojant kintamąjį. Eksportavimą atliekanti komanda turi atitinkamą pavadinimą.

    Ši komanda apvalkalo kintamąjį paverčia aplinkos kintamuoju. Norėdami patikrinti, ar viskas padaryta teisingai, galite dar kartą peržiūrėti aplinkos kintamųjų sąrašą:

    printenv | grep TEST_VAR
    TEST_VAR=Sveikas pasaulis!

    Dabar šis kintamasis rodomas šiame sąraše. Taip pat galite dar kartą išplėsti vaiko apvalkalą:

    bash
    echo $TEST_VAR
    Labas pasauli!

    Puiku! Antrinis apvalkalas gavo pirminį apvalkalo kintamąjį. Prieš palikdami antrinį apvalkalą, pabandykite eksportuoti dar vieną kintamąjį.

    export NEW_VAR="Tikrinamasis eksportas"

    Patikrinkite, ar kintamasis buvo eksportuotas:

    printenv | grep NEW_VAR
    NEW_VAR=Tikrinamas eksportas

    Dabar grįžkite į pradinį apvalkalą:

    Patikrinkite, ar galima atidaryti nurodytą kintamąjį:

    Rezultatas negrąžinamas

    Taip yra todėl, kad aplinkos kintamieji perduodami tik antriniams procesams. Nėra integruoto būdo nustatyti pirminius apvalkalo aplinkos kintamuosius. Daugeliu atvejų tai neleidžia programoms paveikti veiklos aplinkos, iš kurios jos buvo paleistos.

    Kintamasis NEW_VAR buvo nustatytas kaip antrinis apvalkalo aplinkos kintamasis. Šis kintamasis galioja šiam apvalkalui ir jo antriniams apvalkalams bei procesams. Naudotojui grįžus į pradinį apvalkalą, ši aplinka buvo sunaikinta.

    Kintamųjų perkėlimas ir nustatymas iš naujo

    Kintamasis TEST_VAR vis dar yra aplinkos kintamasis. Norėdami vėl padaryti jį apvalkalo kintamuoju, įveskite:

    eksportuoti -n TEST_VAR

    Dabar šis kintamasis nebėra aplinkos kintamasis:

    printenv | grep TEST_VAR

    Tai vėl apvalkalo kintamasis:

    rinkinys | grep TEST_VAR
    TEST_VAR="Sveikas, pasauli!"

    Norėdami visiškai iš naujo nustatyti kintamąjį, nesvarbu, ar tai būtų aplinkos ar apvalkalo kintamasis, naudokite komandą unset:

    Įsitikinkite, kad tokio kintamojo nebėra:

    Rezultatas nebuvo rodomas, nes kintamasis buvo nustatytas iš naujo.

    Automatinis aplinkos kintamųjų nustatymas

    Kaip jau minėta, daugelis programų naudoja aplinkos kintamuosius, kad nustatytų, kaip jie turėtų veikti. Nustatyti būtinus kintamuosius kiekvieną kartą, kai sukuriamas naujas apvalkalas, yra gana nepatogu. Be to, daugelis kintamųjų nustatomi iškart po įvedimo. Kaip automatiškai nustatyti kintamuosius?

    Tai šiek tiek sudėtingiau, nei atrodo iš pradžių, nes bash apvalkalas nuskaito daug konfigūracijos failų.

    Shell seansų tipai

    Bash apvalkalas nuskaito skirtingus konfigūracijos failus, priklausomai nuo to, kaip buvo pradėta sesija. Pirmieji du seansų tipai, apibrėžiantys apvalkalą, yra pradžios seansas ir antrinis seansas.

    Pradinis arba pradinis apvalkalas(prisijungimo apvalkalas) yra apvalkalo sesija, kuri atidaroma gavus vartotojo įgaliojimą. Jei vartotojas prisijungia prie terminalo arba prisijungia per SSH, bus atidarytas pradžios apvalkalas.

    Jei nauja sesija pradedama nuo įgaliotos (pradžios) seanso (kadangi pavyzdžiuose anksčiau buvo paleistas naujas bash apvalkalas), ši sesija bus dukterinė įmonė (nePrisijungti apvalkalas). Norėdami atidaryti šią sesiją, jums nereikia atlikti autorizacijos procedūros.

    Be to, apvalkalo sesijos yra interaktyvios ir neinteraktyvios.

    interaktyvi sesija shells (interaktyvus apvalkalas) yra seansas, prijungtas prie terminalo. Neinteraktyvus apvalkalo seansas yra seansas, kuris nėra prijungtas prie terminalo.

    Taigi, apvalkalo seansai skirstomi pagal šiuos aspektus: pradžia-vaikas, interaktyvus-neinteraktyvus.

    Įprasta sesija, atidaryta naudojant SSH, paprastai yra interaktyvi pradžios sesija. Scenarijus, paleistas per komandinę eilutę, paprastai vykdomas neinteraktyvioje antrinėje sesijoje. Terminalo sesija yra įvairūs šių dviejų savybių deriniai.

    Klasifikuodama seansą kaip pradžios seansą arba antrinę seansą, sistema supranta, kuriuos failus reikia skaityti, kad inicijuotų apvalkalo seansą.

    Taigi, pirma, paleisties sesija gauna konfigūracijas iš /etc/profile. Tada jis ieško paleisties apvalkalo konfigūracijos failo vartotojo namų kataloge, kad gautų vartotojo nustatytas konfigūracijas.

    Toks seansas skaito failus ~/.bash_profile, ~/.bash_login ir ~/.profile ir neskaito kitų failų.

    Antrinė sesija savo ruožtu skaito /etc/baash.bashrc ir vartotojo failą ~/.bash.rc, kad būtų įdiegta aplinka.

    Neinteraktyvūs apvalkalai nuskaito BASH_ENV aplinkos kintamąjį ir nurodytą failą, kad sukurtų naują aplinką.

    Kaip nustatyti aplinkos kintamuosius

    Kaip matote, konfigūracijos yra išsklaidytos skirtinguose failuose.

    Dėl to sistema yra labai lanksti, o tai naudinga tam tikrose situacijose, kai reikia nustatyti skirtingas pradžios ir vaikų apvalkalo parinktis. Tačiau šie apvalkalai paprastai naudoja tuos pačius nustatymus.

    Laimei, dauguma Linux platinimų nurodo antrinio apvalkalo konfigūracijos failą kaip paleisties apvalkalo konfigūracijų šaltinį. Tai reiškia, kad antrinio apvalkalo konfigūracijos failuose galite apibrėžti aplinkos kintamuosius abiem seansams.

    Paprastai abiejuose apvalkaluose naudojami vartotojo nurodyti aplinkos kintamieji. Tai reiškia, kad šiuos kintamuosius galite nustatyti faile ~/.bashrc.

    Atidarykite šį failą:

    Greičiausiai jame jau yra tam tikrų duomenų. Dauguma čia pateiktų verčių yra bash parinktys ir neturi nieko bendra su aplinkos kintamaisiais. Kintamieji šiame faile nustatomi taip pat, kaip ir komandinėje eilutėje:

    eksportuoti VARNAME=vertė

    Įvedę visus reikiamus kintamuosius, uždarykite failą. Kitą kartą prasidėjus apvalkalo seansui, čia nustatyti kintamieji bus nuskaityti ir perduoti apvalkalo aplinkai. Norėdami nurodyti dabartinei sesijai perskaityti nurodytą failą, įveskite:

    šaltinis ~/.bashrc

    Norėdami nustatyti visos sistemos kintamuosius, pridėkite juos prie /etc/profile, /etc/bash.bashrc arba /etc/environment.

    Rezultatai

    Apvalkalo ir aplinkos kintamieji visada yra visuose apvalkalo seansuose, todėl žinoti, kaip su jais dirbti, yra ypač naudinga. Jie gali būti naudojami perduodant pirminio proceso konfigūracijas antriniams procesams, taip pat konfigūruojant parametrus už failų ribų.

    Tam tikrose situacijose tai suteikia daug privalumų. Pavyzdžiui, kai kurie diegimo mechanizmai remiasi aplinkos kintamaisiais, kad nustatytų autentifikavimo informaciją. Tai patogu, nes tokie svarbūs duomenys nebus saugomi jokiame faile, o tai reiškia, kad jie bus patikimai apsaugoti nuo nepažįstamų žmonių.

    Yra daug kitų įprastų situacijų, kai gali prireikti skaityti kintamuosius arba pakeisti sistemos aplinką. Šiame vadove aprašyti įrankiai ir metodai yra puikus pagrindas lavinti darbo su kintamaisiais ir teisingo jų naudojimo įgūdžius.

    Žymos: ,
    mob_info