source je praktický vstavaný príkaz shellu, ktorý prijíma argumenty, analyzuje príkazy v skripte a vykonáva ich v prostredí shellu. Obsah súboru sa načíta podľa zdroja a potom sa odovzdá tlmočníkovi jazyka príkazov nástrojov (TCL), ktorý vykoná príkazy.
Poďme sa naučiť, ako používať zdrojový kód na vykonávanie príkazov a prácu s prostrediami shell v systéme Linux, spolu so stručným vysvetlením, ako sa líši od príkazu bash.
Použite zdroj na vykonávanie príkazov v súbore
Ak chcete použiť príkaz source, musíte najprv vytvoriť vzorový súbor a naplniť ho niektorými príkazmi shellu. Začnite vytvorením nového súboru s dotykový príkaz. Otvorte súbor v textovom editore podľa vášho výberu a napíšte niekoľko základných príkazov shellu.
dotyktest.TXT
vitest.TXT# Napíšte príkazy do textového súboru:
ozvena "Ahoj!"
pwd
ls
# Zdrojový súbor so zdrojovou alebo bodkovou syntaxou
. test.TXT
zdrojtext.TXT
Napíšte textový súbor a pokračujte v jeho odovzdaní ako argument zdrojovému príkazu. Systém vykoná príkazy v súbore a vráti výstup.
Teraz, keď poznáte základy používania zdrojového kódu, skúsme zmeniť prostredie prostredia Bash. Predtým, ako budete pokračovať, však musíte mať základné pochopenie premenné prostredia v Linuxe.
Použite zdrojový príkaz na aktualizáciu prostredia Bash Shell
V systéme Linux sú premenné prostredia zdedené, ale nemenné. Ak spustíte skript shellu Bash, ktorý upravuje premennú prostredia $TEST, skript vytvorí nový, rozvetvený shell proces a modifikácia $TEST sa uskutoční v rámci neho namiesto pôvodného Bash životné prostredie.
Podradený proces nebude môcť upraviť prostredie nadradeného procesu. Môže upravovať iba svoje vlastné prostredie. Pochopme to na praktickom príklade:
export TEST="deb"
vi príklad# Zadajte tieto príkazy do súboru
export TEST="posteľ"
ozvena $TEST
# Vypíšte súbor, urobte ho spustiteľným a potom ho spustite
chmod +x príklad
./príklad # toto vráti "posteľ"
ozvena $TEST # toto vráti "deb"
Tu prichádza do hry príkaz zdroja. Pomocou príkazu source môžete spustiť skript v rovnakom prostredí shellu, ktoré by inak bolo rozvetvené. Ak teda použijete skript, ktorý upravuje premenné prostredia, vykoná zmeny pre prostredie shellu Bash.
Ak to chcete vyskúšať, napíšte príkazy do poľa kódu vyššie do nového súboru a namiesto toho, aby ste ho urobili spustiteľným, použite zdrojový príkaz.
# Vytvorte nový súbor a upravte ho
vi test súbor
. testovací_súbor
ozvena $TEST # Toto vráti "posteľ"
Ako vidíte, pomocou príkazu source ste mohli aktualizovať premenné prostredia nadradeného procesu. Toto je primárny prípad použitia zdrojového príkazu, t. j. na úpravu nadradeného prostredia.
To sú všetky kroky, ktoré potrebujete na aktualizáciu prostredia prostredia Bash pomocou príkazu source.
Rozdiel medzi príkazmi Linux bash a source
Rozdiel medzi príkazmi Linux bash a source je v tom, že keď spustíte skript pomocou príkazu bash, povie to Linuxu jadro na vytvorenie nového procesu Bash na čítanie a spustenie skriptu, skopírovanie výstupu do pôvodného procesu shellu a jeho zobrazenie.
Ale zdrojový príkaz je vstavaná škrupina ktorý číta a vyhodnocuje súbor v rámci aktuálneho shell procesu. Všetky zmeny vykonané skriptom sa teda zachovajú v prostredí Bash.
Riešenie problémov s chybami príkazov zdroja
V niektorých systémoch Linux sa pri pokuse o použitie príkazu source môžete stretnúť s chybou „zdroj sa nenašiel“. Túto chybu môžete opraviť dvoma spôsobmi:
1. Zmeňte škrupinu
Niektoré shelly nepodporujú príkaz source. V takom prípade budete musieť zmeniť prostredie shellu pomocou chsh -s ($ which shell_name) príkaz.
Potom spustite nový terminál zmeniť svoju škrupinua skúste použiť príkaz source. Ak nový shell podporuje sourcing, potom by mal fungovať bezchybne.
2. Použite syntax bodka/bodka
Niektoré prostredia shell nepodporujú "zdroj"syntax, ale alternatíva"."syntax. Syntax "zdroj" je synonymom pre bodku v Bash. Toto však nefunguje v prostredí POSIX, takže pre maximálnu kompatibilitu použite syntax obdobia.
Základné príkazy Linuxu, ktoré by ste mali vedieť
Príkazy shellu Linuxu sú skvelým spôsobom interakcie so systémom pomocou terminálu. Sú samotnou podstatou používania *NIX systémov.
Aj keď nemusíte poznať všetky príkazy, oboznámenie sa s niekoľkými užitočnými sa vám určite osvedčí, keď sa vydáte hlboko do sveta Linuxu.