izvor je priročen vgrajen ukaz lupine, ki sprejema argumente, razčlenjuje ukaze v skriptu in jih izvaja v okolju lupine. Vsebino datoteke prebere vir in nato posreduje tolmaču orodnega ukaznega jezika (TCL), ki izvede ukaze.
Naučimo se uporabljati izvorno kodo za izvajanje ukazov in delo z lupinskimi okolji v Linuxu, skupaj s kratko razlago, kako se razlikuje od ukaza bash.
Uporabite vir za izvajanje ukazov v datoteki
Če želite uporabiti izvorni ukaz, morate najprej ustvariti vzorčno datoteko in jo napolniti z nekaj ukazi lupine. Začnite z ustvarjanjem nove datoteke z ukaz na dotik. Odprite datoteko v urejevalniku besedil po vaši izbiri in napišite nekaj osnovnih ukazov lupine.
dotiktest.txt
vitest.txt# Zapišite ukaze v besedilno datoteko:
odmev "Zdravo!"
pwd
ls
# Izvor datoteke s sintakso izvora ali pike
. test.txt
virbesedilo.txt
Izpišite besedilno datoteko in nadaljujte s posredovanjem kot argument izvornemu ukazu. Sistem bo izvedel ukaze v datoteki in vrnil izhod.
Zdaj, ko poznate osnove uporabe izvorne kode, poskusimo spremeniti okolje lupine Bash. Toda preden nadaljujete, morate imeti temeljno razumevanje
spremenljivke okolja v Linuxu.Za posodobitev okolja lupine Bash uporabite izvorni ukaz
V sistemu Linux so spremenljivke okolja podedovane, vendar nespremenljive. Če izvedete skript lupine Bash, ki spremeni spremenljivko okolja $TEST, bo skript ustvaril novo, razcepljen postopek lupine in sprememba $TEST bo potekala znotraj njega namesto izvirnega Bash okolju.
Podrejeni proces ne bo mogel spreminjati okolja nadrejenega procesa. Spremeni lahko samo svoje okolje. Razumejmo to s praktičnim primerom:
izvoz TEST="deb"
vi primer# Vnesite te ukaze v datoteko
izvoz TEST="postelja"
odmev $TEST
# Zapišite datoteko, naredite jo izvršljivo in jo nato izvedite
primer chmod +x
./primer # to bo vrnilo "postelja"
odmev $TEST # to bo vrnilo "deb"
Tukaj nastopi ukaz source. Z izvornim ukazom lahko izvedete skript v istem lupinskem okolju, ki bi sicer bilo razcepljeno. Torej, če pridobite skript, ki spreminja spremenljivke okolja, bo naredil spremembe za okolje lupine Bash.
Če ga želite preizkusiti, napišite ukaze v zgornje polje s kodo v novo datoteko in uporabite izvorni ukaz, namesto da bi bil izvršljiv.
# Ustvarite novo datoteko in jo uredite
vi test mapa
. testna_datoteka
odmev $TEST # To bo vrnilo "postelja"
Kot lahko vidite, ste z ukazom source lahko posodobili spremenljivke okolja nadrejenega procesa. To je primarni primer uporabe izvornega ukaza, tj. za spreminjanje nadrejenega okolja.
To so vsi koraki, ki jih potrebujete za posodobitev okolja lupine Bash z izvornim ukazom.
Razlika med bashom Linuxa in izvornimi ukazi
Razlika med Linux bash in izvornimi ukazi je v tem, da ko izvedete skript z ukazom bash, ta sporoči Linuxu jedro za ustvarjanje novega procesa Bash za branje in izvajanje skripta, kopiranje izhoda v prvotni proces lupine in ga prikaže.
Toda izvorni ukaz je vgrajena školjka ki bere in ovrednoti datoteko znotraj trenutnega lupinskega procesa. Torej bodo vse spremembe, ki jih naredi skript, ohranjene v lupini Bash.
Odpravljanje napak izvornih ukazov
V nekaterih sistemih Linux lahko med poskusom uporabe izvornega ukaza naletite na napako »vira ni bilo mogoče najti«. To napako lahko odpravite na dva načina:
1. Spremenite lupino
Nekatere lupine ne podpirajo izvornega ukaza. V tem primeru boste morali spremeniti okolje lupine z chsh -s ($katero ime lupine) ukaz.
Nato zaženite nov terminal spreminjanje lupinein poskusite uporabiti izvorni ukaz. Če nova lupina podpira izvor, bi morala delovati brezhibno.
2. Uporabite sintakso pika/pika
Nekatera lupinska okolja ne podpirajo "vir" sintaksa ampak alternativa "." sintaksa. Sintaksa "source" je sinonim za piko v Bashu. Toda to ne deluje v lupini POSIX, zato za največjo združljivost uporabite sintakso pike.
Osnovni ukazi za Linux, ki bi jih morali poznati
Ukazi lupine Linux so odličen način za interakcijo s sistemom prek terminala. So bistvo uporabe sistemov *NIX.
Čeprav vam ni treba poznati vseh ukazov, vam bo poznavanje nekaj uporabnih zagotovo koristilo, ko se boste podali globoko v svet Linuxa.