source on kätevä sisäänrakennettu shell-komento, joka hyväksyy argumentit, jäsentää komentosarjan komentoja ja suorittaa ne komentotulkkiympäristössä. Tiedoston sisältö luetaan lähteen mukaan ja välitetään sitten Tool Command Language (TCL) -tulkkiin, joka suorittaa komennot.
Opitaan käyttämään lähdekoodia komentojen suorittamiseen ja työskentelyyn shell-ympäristöjen kanssa Linuxissa sekä lyhyt selitys siitä, miten se eroaa bash-komennosta.
Käytä lähdettä komentojen suorittamiseen tiedostossa
Jotta voit käyttää lähdekomentoa, sinun on ensin luotava esimerkkitiedosto ja täytettävä se komentotulkkikomennoilla. Aloita luomalla uusi tiedosto sovelluksella kosketuskomento. Avaa tiedosto valitsemallasi tekstieditorilla ja kirjoita muutama peruskäsky.
kosketustestata.txt
vitestata.txt# Kirjoita komennot tekstitiedostoon:
kaiku "Hei!"
pwd
ls
# Lähdetiedosto joko lähde- tai pistesyntaksilla
. testata.txt
lähdeteksti.txt
Kirjoita tekstitiedosto ja siirrä se argumenttina lähdekomennolle. Järjestelmä suorittaa tiedoston komennot ja palauttaa tulosteen.
Nyt kun tiedät lähteen käytön perusteet, yritämme muuttaa Bash-kuoriympäristöä. Ennen kuin jatkat, sinulla on kuitenkin oltava peruskäsitys ympäristömuuttujat Linuxissa.
Käytä lähdekomentoa päivittääksesi Bash Shell -ympäristön
Linuxissa ympäristömuuttujat ovat perittyjä, mutta muuttumattomia. Jos suoritat Bash-komentosarjan, joka muokkaa ympäristömuuttujaa $TEST, komentosarja synnyttää uuden, forked shell -prosessi, ja $TEST-muutos tapahtuu sen sisällä alkuperäisen Bashin sijaan ympäristöön.
Aliprosessi ei voi muokata ylätason prosessin ympäristöä. Se voi muokata vain omaa ympäristöään. Ymmärretään tämä käytännön esimerkillä:
vienti TEST="deb"
vi esimerkki# Kirjoita nämä komennot tiedostoon
vienti TEST="sänky"
kaiku $TESTI
# Kirjoita tiedosto, tee siitä suoritettava ja suorita se
chmod +x esimerkki
./esimerkki # tämä palauttaa "sängyn"
kaiku $TESTI # tämä palauttaa "deb"
Tässä tulee esiin lähdekomento. Lähdekomennolla voit suorittaa komentosarjan samassa shell-ympäristössä, joka muuten olisi haaroittunut. Joten jos hankit skriptin, joka muokkaa ympäristömuuttujia, se tekee muutokset Bash-kuoriympäristöön.
Testaa sitä kirjoittamalla yllä olevassa koodikentässä olevat komennot uuteen tiedostoon ja käyttämällä lähdekomentoa sen suorittamisen sijaan.
# Luo uusi tiedosto ja muokkaa sitä
vi testata tiedosto
. testi_tiedosto
kaiku $TESTI # Tämä palauttaa "sängyn"
Kuten näet, lähdekomentoa käyttämällä pystyit päivittämään pääprosessin ympäristömuuttujat. Tämä on lähdekomennon ensisijainen käyttötapaus eli pääympäristön muokkaaminen.
Siinä on kaikki vaiheet, jotka sinun tarvitsee päivittää Bash-kuoriympäristö lähdekomennolla.
Ero Linuxin bashin ja lähdekomentojen välillä
Ero Linuxin bashin ja lähdekomentojen välillä on se, että kun suoritat komentosarjan bash-komennolla, se kertoo Linuxille ydin luodaksesi uuden Bash-prosessin, joka lukee ja suorittaa komentosarjan, kopioi tulos alkuperäiseen komentotulkkiprosessiin ja näyttää sen.
Mutta lähdekomento on sisäänrakennettu kuori joka lukee ja arvioi tiedoston nykyisessä komentotulkkiprosessissa. Joten kaikki skriptin tekemät muutokset säilyvät Bash-kuoressa.
Lähteen komentovirheiden vianmääritys
Joissakin Linux-järjestelmissä saatat saada virheilmoituksen "lähdettä ei löydy", kun yrität käyttää lähdekomentoa. Voit korjata tämän virheen kahdella tavalla:
1. Vaihda Shell
Jotkut kuoret eivät tue lähdekomentoa. Siinä tapauksessa sinun on vaihdettava kuoriympäristöäsi chsh -s ($joka komentotulkin_nimi) komento.
Käynnistä uusi terminaali tämän jälkeen vaihdat kuoresi, ja yritä käyttää lähdekomentoa. Jos uusi kuori tukee hankintaa, sen pitäisi toimia moitteettomasti.
2. Käytä piste/piste-syntaksia
Jotkut kuoriympäristöt eivät tue "lähde"syntaksi mutta vaihtoehto"." syntaksi. "Lähdesyntaksi" on synonyymi pisteelle Bashissa. Mutta tämä ei toimi POSIX-kuoressa, joten maksimaalisen yhteensopivuuden saavuttamiseksi käytä pistesyntaksia.
Linuxin peruskomennot, jotka sinun pitäisi tietää
Linuxin komentotulkkikomennot ovat loistava tapa olla vuorovaikutuksessa järjestelmän kanssa terminaalin avulla. Ne ovat *NIX-järjestelmien käytön ydin.
Vaikka sinun ei tarvitse tietää kaikkia komentoja, muutaman hyödyllisen komennon tunteminen on varmasti hedelmällistä, kun uskallat syvälle Linuxin maailmaan.