Bash Cum se execută o comandă într-o variabilă?

Bash How Execute Command Variable



Scripturile Bash pot fi create într-o varietate de moduri diferite și majoritatea dintre noi sunt familiarizați cu executarea comenzilor simple într-un script Bash. Cu toate acestea, aceste comenzi pot fi încapsulate și în variabilele din Bash. Acest proces este cunoscut sub numele de substituție de comandă și este utilizat în general pentru a stoca ieșirea unei comenzi într-o variabilă, astfel încât să nu trebuie să executați acea comandă în mod explicit din nou și din nou, mai degrabă puteți accesa pur și simplu acea variabilă pentru a obține ieșirea acelei comenzi oricand vrei. În acest articol, vă vom arăta cum se poate face acest lucru.

Notă: Toate scenariile prezentate mai jos au fost realizate pe Ubuntu 20.04. Cu toate acestea, vor funcționa exact în același mod și cu orice altă aromă a Linuxului.







Metoda de executare a unei comenzi într-o variabilă în Bash:

Pentru a demonstra metoda de executare a unei comenzi într-o variabilă în Bash, vă vom prezenta trei scenarii diferite care sunt după cum urmează:



Executarea comenzii ecou stocate într-o variabilă:

Acesta este cel mai simplu scenariu în care scopul nostru este să executăm comanda echo care este stocată într-o variabilă. Pentru ca acest lucru să se întâmple, va trebui să urmați seria de pași menționați mai jos:



Pasul 1: Crearea unui script Bash:

Trebuie să creați un script Bash în folderul Acasă pentru care trebuie să faceți clic pe pictograma Manager fișiere, după cum puteți vedea din următoarea imagine:





Acum, găsiți orice spațiu în folderul Acasă și faceți clic dreapta pe el pentru a lansa un meniu. Selectați opțiunea Document nou din acest meniu și apoi alegeți opțiunea Golire document din meniul sub-cascadă. Dacă faceți acest lucru, veți crea un nou document în folderul Acasă. Acum redenumiți acest document nou creat cu orice nume la alegere urmat de extensia .sh. În cazul nostru, l-am numit CommandVar.sh.



Pentru a scrie un script Bash în acest fișier, faceți dublu clic pe acesta pentru a-l deschide și apoi tastați scriptul afișat în imaginea de mai jos în fișierul dvs. Bash. Aici, prima linie a scriptului, adică #! / Bin / bash arată că acest fișier este de fapt un fișier Bash. Apoi am creat o variabilă numită test și i-am atribuit valoarea $ (ecou Bună!). Ori de câte ori doriți să stocați comanda într-o variabilă, trebuie să tastați acea comandă precedată de un simbol $. În acest caz, am vrut să stocăm comanda echo în variabila de testare, așa că am tastat pur și simplu comanda echo urmată de un mesaj aleatoriu și am inclus-o între paranteze rotunde și am plasat un simbol $ în fața sa. Deci, acum, dacă vrem să executăm această comandă ecou, ​​va trebui să accesăm variabila de testare. Prin urmare, pentru a verifica dacă comanda echo stocată în variabila test poate fi executată cu succes sau nu, am imprimat ieșirea variabilei test pe terminal utilizând o altă comandă echo. După ce ați tastat acest script, trebuie să salvați fișierul și să îl închideți.

Pasul 2: Executarea scriptului Bash prin terminal:

Acum trebuie să executați acest script prin terminal. Deci, deschideți terminalul în Ubuntu 20.04 și apoi tastați următoarea comandă:

bashCommandVar.sh

Când veți apăsa tasta Enter pentru a executa această comandă, veți putea vedea următoarea ieșire pe terminalul dvs. Aici, porțiunea evidențiată a ieșirii este ieșirea comenzii echo care a fost stocată în variabila de testare.

Executarea comenzii seq stocate într-o variabilă:

În acest scenariu, vom imprima o secvență de numere utilizând comanda seq stocată într-o variabilă. Pentru ca acest lucru să se întâmple, vom modifica scriptul Bash creat mai sus, efectuând următorii pași:

Pasul 1: Modificarea scriptului Bash creat mai sus:

Deschideți fișierul Bash pe care l-ați creat în metoda de mai sus și introduceți următorul script în el. Aici, am creat o variabilă numită secvență. Scopul nostru este să imprimăm numerele de la 1 la 10 în timp ce utilizăm comanda seq. Pentru aceasta, am atribuit valoarea $ (sec. 1 10) variabilei secvenței. De asemenea, puteți specifica orice altă gamă de numere la alegere, dacă doriți. Primul număr după comanda seq indică limita inferioară a secvenței, în timp ce al doilea număr se referă la limita superioară. După ce ați tastat acest script, salvați fișierul și închideți-l.

Pasul 2: Executarea scriptului Bash modificat prin terminal:

Acum executați scriptul Bash în același mod așa cum s-a explicat mai sus și veți putea vedea secvența specificată pe terminalul dvs. așa cum se arată în imaginea de mai jos:

Executarea comenzii „pwd” stocată într-o variabilă:

De asemenea, vă puteți imprima directorul de lucru folosind comanda pwd stocată într-o variabilă. Pentru a demonstra acest lucru, vom modifica din nou scriptul Bash creat mai sus, urmând pașii menționați mai jos:

Pasul 1: Modificarea scriptului Bash creat mai sus:

Deschideți fișierul Bash pe care tocmai l-ați modificat și apoi tastați scriptul prezentat în următoarea imagine. În acest script, am creat o variabilă numită director_de lucru și i-am atribuit valoarea $ (pwd). Comanda pwd va stoca pur și simplu ieșirea sa, adică directorul de lucru curent în variabila working_directory. Pentru a ne asigura dacă comanda pwd a fost executată corect sau nu, am imprimat valoarea variabilei working_directory pe terminal utilizând comanda echo. Acum salvați acest fișier și apoi închideți-l după ce ați introdus scriptul Bash modificat în el.

Pasul 2: Executarea scriptului Bash modificat prin terminal:

Acum executați acest script Bash în același mod așa cum s-a explicat mai sus. Ieșirea acestui script Bash vă va arăta directorul de lucru curent. Porțiunea evidențiată a ieșirii este, de fapt, ieșirea comenzii pwd.

Concluzie:

Acest articol oferă o idee foarte bună despre cum puteți executa o comandă care este stocată într-o variabilă în Bash și poate obține același rezultat pe care l-ați fi obținut dacă ați rula comanda independent.