izvor je zgodna ugrađena naredba ljuske koja prihvaća argumente, analizira naredbe u skripti i izvršava ih u okruženju ljuske. Sadržaj datoteke čita izvor, a zatim se prosljeđuje tumaču jezika naredbi alata (TCL), koji izvršava naredbe.

Naučimo kako koristiti izvorni kod za izvršavanje naredbi i rad s okruženjima ljuske na Linuxu, zajedno s kratkim objašnjenjem kako se razlikuje od naredbe bash.

Koristite izvor za izvršavanje naredbi u datoteci

Da biste koristili izvornu naredbu, prvo ćete morati stvoriti oglednu datoteku i popuniti je nekim naredbama ljuske. Započnite stvaranjem nove datoteke s dodirna naredba. Otvorite datoteku u uređivaču teksta po svom izboru i napišite nekoliko osnovnih naredbi ljuske.

dodirtest.txt
vitest.txt

# Napišite naredbe u tekstualnu datoteku:
jeka "Zdravo!"
pwd
ls

# Izvor datoteke s izvorom ili sintaksom točke
. test.txt
izvortekst.txt

Napišite tekstualnu datoteku i nastavite je prosljeđivati ​​kao argument izvornoj naredbi. Sustav će izvršiti naredbe u datoteci i vratiti izlaz.

instagram viewer

Sada kada znate osnove korištenja izvora, pokušajmo promijeniti okruženje Bash ljuske. Međutim, prije nego što nastavite, morate imati temeljno razumijevanje varijable okruženja u Linuxu.

Upotrijebite izvornu naredbu za ažuriranje okruženja Bash Shell

Na Linuxu, varijable okruženja su naslijeđene, ali nepromjenjive. Ako izvršite Bash shell skriptu koja mijenja varijablu okoline $TEST, skripta će proizvesti novu, račvast proces ljuske, a modifikacija $TEST-a odvijat će se unutar njega umjesto originalnog Basha okoliš.

Proces dijete neće moći mijenjati okruženje procesa roditelja. Može samo modificirati svoje okruženje. Razumimo ovo na praktičnom primjeru:

izvoz TEST="deb"
vi primjer

# Upišite ove naredbe u datoteku
izvoz TEST="krevet"
jeka $TEST

# Napišite datoteku, učinite je izvršnom i zatim je izvršite
chmod +x primjer
./primjer # ovo će vratiti "krevet"
jeka $TEST # ovo će vratiti "deb"

Ovdje naredba izvor stupa na scenu. S izvornom naredbom možete izvršiti skriptu u istoj okolini ljuske, koja bi inače bila račvana. Dakle, ako nabavite skriptu koja mijenja varijable okoline, ona će napraviti promjene za okruženje Bash ljuske.

Da biste to testirali, napišite naredbe u gornji okvir koda u novu datoteku i upotrijebite izvornu naredbu umjesto da je učinite izvršnom.

# Napravite novu datoteku i uredite je
vi test datoteka
. test_datoteka
jeka $TEST # Ovo će vratiti "krevet"

Kao što vidite, korištenjem izvorne naredbe uspjeli ste ažurirati varijable okoline nadređenog procesa. Ovo je primarni slučaj upotrebe izvorne naredbe, tj. za izmjenu nadređenog okruženja.

To su svi koraci koje trebate za ažuriranje okruženja Bash ljuske s izvornom naredbom.

Razlika između Linux bash i izvornih naredbi

Razlika između Linux bash i izvornih naredbi je u tome što kada izvršite skriptu s bash naredbom, ona govori Linuxu kernel za stvaranje novog Bash procesa za čitanje i izvršavanje skripte, kopiranje izlaza u izvorni proces ljuske i prikaz.

Ali izvorna naredba jest ugrađena školjka koji čita i procjenjuje datoteku unutar trenutnog procesa ljuske. Dakle, sve promjene koje napravi skripta bit će zadržane u Bash ljusci.

Rješavanje pogrešaka izvornih naredbi

U nekim Linux sustavima možete naići na pogrešku "izvor nije pronađen" dok pokušavate koristiti izvornu naredbu. Ovu grešku možete popraviti na dva načina:

1. Promijenite školjku

Neke ljuske ne podržavaju izvornu naredbu. U tom slučaju, morat ćete promijeniti okruženje ljuske s chsh -s ($koji naziv_ljuske) naredba.

Nakon toga pokrenite novi terminal mijenjajući svoju ljuskui pokušajte upotrijebiti izvornu naredbu. Ako nova ljuska podržava izvor, onda bi trebala raditi besprijekorno.

2. Koristite sintaksu točka/točka

Neka okruženja ljuske ne podržavaju "izvor" sintaksa ali alternativa "." sintaksa. Sintaksa "izvor" je sinonim za točku u Bashu. Ali to ne radi u POSIX ljusci, pa za maksimalnu kompatibilnost koristite sintaksu točke.

Osnovne Linux naredbe koje biste trebali znati

Naredbe Linux ljuske odličan su način za interakciju sa sustavom pomoću terminala. Oni su sama bit korištenja *NIX sustava.

Iako ne morate znati sve naredbe, upoznavanje s nekoliko korisnih sigurno će se pokazati plodonosnim kada se upustite duboko u svijet Linuxa.