sursa este o comandă shell încorporată la îndemână care acceptă argumente, analizează comenzi într-un script și le execută în mediul shell. Conținutul fișierului este citit de sursă și apoi transmis interpretului TCL (Tool Command Language), care execută comenzile.

Să învățăm cum să folosim sursa pentru a executa comenzi și a lucra cu medii shell pe Linux, împreună cu o scurtă explicație a modului în care diferă de comanda bash.

Utilizați sursa pentru a executa comenzi într-un fișier

Pentru a utiliza comanda sursă, va trebui mai întâi să creați un fișier eșantion și să îl completați cu câteva comenzi shell. Începeți prin a crea un fișier nou cu comanda tactilă. Deschideți fișierul într-un editor de text la alegere și scrieți câteva comenzi shell de bază.

atingereTest.TXT
viTest.TXT

# Scrieți comenzile în fișierul text:
ecou "Buna ziua!"
pwd
ls

# Sursă fișierul fie cu sursa, fie cu sintaxa punctului
. Test.TXT
sursătext.TXT

Scrieți fișierul text și treceți-l ca argument la comanda sursă. Sistemul va executa comenzile din fișier și va returna o ieșire.

Acum că știți elementele de bază despre utilizarea sursei, să încercăm să schimbăm mediul shell Bash. Cu toate acestea, înainte de a continua, trebuie să aveți o înțelegere fundamentală variabilele de mediu în Linux.

Utilizați comanda sursă pentru a actualiza mediul Bash Shell

Pe Linux, variabilele de mediu sunt moștenite, dar imuabile. Dacă executați un script shell Bash care modifică o variabilă de mediu $TEST, scriptul va genera un nou, procesul de shell bifurcat, iar modificarea lui $TEST va avea loc în cadrul acestuia în loc de Bash original mediu inconjurator.

Procesul copil nu va putea modifica mediul procesului părinte. Poate doar să-și modifice propriul mediu. Să înțelegem asta cu un exemplu practic:

export TEST="deb"
vi exemplu

# Tastați aceste comenzi în fișier
export TEST="pat"
ecou $TEST

# Scrieți fișierul, faceți-l executabil și apoi executați-l
exemplu chmod +x
./exemplu # acesta va întoarce „pat”
ecou $TEST # aceasta va returna „deb”

Aici intră în joc comanda sursă. Cu comanda sursă, puteți executa un script în același mediu shell, care altfel ar fi fost bifurcat. Deci, dacă sursați un script care modifică variabilele de mediu, acesta va face modificări pentru mediul shell Bash.

Pentru a-l testa, scrieți comenzile din caseta de cod de mai sus într-un fișier nou și utilizați comanda sursă în loc să o faceți executabilă.

# Creați un fișier nou și editați-l
vi Test fişier
. fișier_test
ecou $TEST # Acesta va întoarce „pat”

După cum puteți vedea, folosind comanda sursă, ați putut să actualizați variabilele de mediu ale procesului părinte. Acesta este cazul de utilizare principal al comenzii sursă, adică pentru a modifica mediul părinte.

Aceștia sunt toți pașii de care aveți nevoie pentru a actualiza mediul shell Bash cu comanda sursă.

Diferența dintre comenzile bash și sursă Linux

Diferența dintre comenzile Linux bash și sursă este că atunci când executați un script cu comanda bash, acesta îi spune kernel pentru a crea un nou proces Bash pentru a citi și a executa scriptul, a copia rezultatul în procesul shell original și a-l afișa.

Dar comanda sursă este o carcasă încorporată care citește și evaluează un fișier în cadrul procesului shell curent. Deci, toate modificările făcute de script vor fi păstrate în shell-ul Bash.

Depanarea erorilor de comandă sursă

În unele sisteme Linux, este posibil să întâlniți o eroare „sursa nu a fost găsită” în timp ce încercați să utilizați comanda sursă. Puteți remedia această eroare în două moduri:

1. Schimbați Shell

Unele shell-uri nu acceptă comanda sursă. În acest caz, va trebui să vă schimbați mediul shell cu ajutorul chsh -s ($care nume_shell) comanda.

Porniți un nou terminal după schimbându-ți coajași încercați să utilizați comanda sursă. Dacă noul shell acceptă aprovizionarea, atunci ar trebui să funcționeze impecabil.

2. Utilizați Sintaxa Punct/Perioadă

Unele medii shell nu acceptă "sursă" sintaxa dar alternativa "." sintaxă. Sintaxa „sursă” este un sinonim pentru punct în Bash. Dar acest lucru nu funcționează în shell-ul POSIX, așa că pentru compatibilitate maximă, utilizați sintaxa punctului.

Comenzi Linux de bază pe care ar trebui să le cunoașteți

Comenzile shell Linux sunt o modalitate excelentă de a interacționa cu sistemul folosind terminalul. Ele sunt însăși esența utilizării sistemelor *NIX.

Deși nu trebuie să cunoașteți toate comenzile, cunoașterea unor comenzi utile se va dovedi cu siguranță fructuoasă pe măsură ce vă aventurați adânc în lumea Linux.