šaltinio komanda „Linux“ su pavyzdžiais
Jei nesate naujokas „Linux“ pasaulyje, galbūt girdėjote apie komandas, kurios atlieka įvairias užduotis, tačiau kai kurios, pavyzdžiui, „šaltinio“ komanda, iš pradžių gali atrodyti šiek tiek klaidinančios. Nesijaudink; išskaidykime jį žingsnis po žingsnio.
Kas yra šaltinio komanda?
„Linux“ šaltinio komanda yra tarsi burtų lazdelė, leidžianti įvesti komandas iš failo ir naudoti jas tiesiai savo terminale. Tai panašu į tai, kad turėtumėte receptų knygą ir galėtumėte iš karto naudoti receptus jų nenukopijuodami.
„Source“ komanda yra integruota apvalkalo funkcija, skirta vykdyti komandas, saugomas faile tiesiogiai dabartinėje apvalkalo aplinkoje. Kai naudojate komandą „source“, ji nuskaito nurodyto failo turinį, paprastai komandų seką, ir vykdo jas taip, tarsi jos būtų įvestos tiesiai į terminalą. Šis procesas vyksta dabartinės apvalkalo sesijos kontekste, nesukuriant naujo proceso ar interpretatoriaus. Jei su komanda „source“ pateikiami argumentai, jie perduodami kaip padėties parametrai šaltinio failo komandoms. Tačiau dabartinio apvalkalo seanso padėties parametrai lieka nepakitę, nebent jie būtų aiškiai pakeisti šaltinio failo komandomis. Komanda „šaltinis“ ieško nurodyto failo kataloguose, išvardytuose $PATH aplinkos kintamasis . Jei failas nerastas nė viename iš šių katalogų, jis ieškos dabartiniame kataloge. Svarbu pažymėti, kad komanda „šaltinis“ nesiūlo jokių parinkčių; vienintelis jo argumentas yra failo, kurio šaltinis turi būti, pavadinimas
Šaltinio komandos sintaksė sistemoje „Linux“.
Šaltinio komandos sintaksė yra paprasta:
source FILENAME
Arba jo atitikmuo:
. filename
Čia „failo pavadinimas“ reiškia failą, kuriame yra komandos, kurias reikia gauti.
„Linux“ šaltinio komandos pavyzdys
šaltinio komanda „Linux“ su pavyzdžiais
- Shell scenarijų vykdymas:
- Aplinkos kintamųjų keitimas:
- Įkeliami konfigūracijos failai:
- Apibrėžkite apvalkalo funkcijas:
Shell scenarijų vykdymas:
Vienas iš pagrindinių šaltinio komandos naudojimo atvejų yra apvalkalo scenarijų vykdymas esamoje apvalkalo aplinkoje. Tai leidžia scenarijui tiesiogiai valdyti kintamuosius, funkcijas ir kitas apvalkalo funkcijas.
Įsivaizduokite, kad turite apvalkalo scenarijų, pavadintą „myscript.sh“, kuris nustato kintamąjį ir atkartoja jo reikšmę:
# myscript.sh
#!/bin/bash
# Nustatykite kintamąjįMY_VARIABLE=Sveiki, iš myscript.sh
# Pakartokite kintamąjį
echo $MY_VARIABLE
Dabar naudokite šaltinio komandą, kad vykdytume šį scenarijų dabartiniame apvalkale:
source myscript.sh
Vykdomas apvalkalo scenarijus
Paaiškinimas:
- Šaltinio komanda vykdo komandas „myscript.sh“ tiesiogiai dabartinėje apvalkalo aplinkoje.
- Kintamasis „MY_VARIABLE“ yra nustatytas „myscript.sh“ ir atkartojamas, sukuriant išvestį dabartinės apvalkalo sesijos metu.
Aplinkos kintamųjų keitimas:
Šaltinio komanda yra labai svarbi keičiant srovės aplinkos kintamuosius apvalkalas sesija. Tai ypač naudinga, kai scenarijus turi eksportuoti kintamuosius, turinčius įtakos pagrindinei apvalkalo aplinkai.
# Environment_setup.sh
#!/bin/bash
# Eksportuokite kintamąjįexport MY_ENV_VARIABLE=Tai mano aplinkos kintamasis
Dabar naudokite šaltinio komandą, kad pakeistume aplinkos kintamuosius dabartiniame apvalkale:
Aplinkos kintamojo modifikavimas
source environment_setup.sh
Norėdami patikrinti pakeitimus, galite pakartoti aplinkos kintamąjį:
echo $MY_ENV_VARIABLE
Paaiškinimas:
- Šaltinio komanda vykdo scenarijų „environment_setup.sh“, kuris eksportuoja kintamąjį „MY_ENV_VARIABLE“.
- Gavus scenarijų, aplinkos kintamasis „MY_ENV_VARIABLE“ tampa pasiekiamas dabartinėje apvalkalo sesijoje, kaip rodo jo reikšmė.
Įkeliami konfigūracijos failai:
Daugelis „Linux“ programų priklauso nuo konfigūracijos failų. Naudojant šaltinio komandą, šiuos konfigūracijos failus galima įkelti tiesiai į dabartinį apvalkalą, užtikrinant, kad pakeitimai įsigaliotų nedelsiant.
Apsvarstykite scenarijų, kai atlikote .bashrc konfigūracijos failo pakeitimus, pvz., įtraukėte naują slapyvardį:
# Pridėkite slapyvardį prie .bashrc
slapyvardis myalias='ls -la'
Dabar naudokite šaltinio komandą, kad įkeltume atnaujintą konfigūracijos failą į dabartinį apvalkalą:
source ~/.bashrc
Dabar galite naudoti naujai pridėtą slapyvardį „myalias“:
myalias
Įkeliamas konfigūracijos failas
Paaiškinimas:
- Šaltinio komanda įkelia atnaujintą „.bashrc“ failą į dabartinę apvalkalo seansą, įtraukdama visus slapyvardžių ar kitų konfigūracijų pakeitimus.
- Sukūrus „.bashrc“, naujai pridėtas slapyvardis „myalias“ tampa prieinamas nedelsiant, kaip parodyta jį vykdant ir pateikiant dabartinio katalogo turinį.
Apibrėžkite apvalkalo funkcijas:
Scenarijuje apibrėžtos apvalkalo funkcijos gali būti prieinamos dabartinėje apvalkalo sesijoje, pateikus scenarijų, kuriame yra tos funkcijos.
Tarkime, kad turite scenarijų, pavadintą „my_functions.sh“, kuris apibrėžia apvalkalo funkciją:
# mano_funkcijos.sh
#!/bin/bash
# Apibrėžkite apvalkalo funkcijąmano_funkcija() {
echo Tai mano pasirinktinė funkcija
}
Dabar naudokite šaltinio komandą, kad ši funkcija būtų prieinama dabartiniame apvalkale:
source my_functions.sh
Dabar galite iškviesti funkciją tiesiogiai apvalkale:
my_function
Shell funkcijų apibrėžimas
Paaiškinimas:
- Šaltinio komanda vykdo scenarijų „my_functions.sh“, kuris apibrėžia apvalkalo funkciją, pavadintą „mano_funkcija“.
- Gavus scenarijų, funkcija „my_function“ tampa prieinama nedelsiant naudoti dabartinėje apvalkalo sesijoje, kaip parodyta ją iškvietus ir atkartojant jos pranešimą.
Išvada
Apibendrinant galima pasakyti, kad „Linux“ komanda „šaltinis“ yra galingas įrankis, leidžiantis sklandžiai integruoti komandas, nustatymus ir funkcijas iš išorinių failų tiesiai į dabartinę apvalkalo aplinką. Veikdama kaip kanalas tarp terminalo seanso ir failų su instrukcijomis, komanda „source“ vykdo komandas nurodytame faile taip, lyg jos būtų įvestos tiesiai į terminalą. Tai leidžia dinamiškai modifikuoti aplinkos kintamuosius, vykdyti apvalkalo scenarijus, įkelti konfigūracijos failus ir naudoti pasirinktines apvalkalo funkcijas dabartinės apvalkalo sesijos metu. Išnaudodami „šaltinio“ komandos galimybes, „Linux“ vartotojai gali padidinti sistemos administravimo ir kūrimo užduočių našumą ir efektyvumą, atverdami naują komandinės eilutės meistriškumo ir lankstumo lygį.