Cum să rulați scriptul Bash în Linux?
Scripturile Bash, cunoscute și sub numele de scripturi shell, sunt instrumente puternice în lumea automatizării liniei de comandă. Acestea vă permit să efectuați o serie de sarcini sau să executați comenzi prin scrierea de scripturi care pot fi executate într-un terminal sau o interfață de linie de comandă. Cu toate acestea, apare adesea întrebarea: cum rulați un script Bash în Linux? În acest articol, vom explora diferite metode de executare a scripturilor Bash și vom oferi informații valoroase despre cele mai bune practici.
Cuprins
- Linia Shebang:
- Folosind bash sau sh pentru a rula scriptul Bash în Linux
- Utilizarea sursei pentru a rula scriptul Bash în Linux
- Efectuarea executării scriptului cu chmod pentru a rula scriptul Bash în Linux
- Cum să rulați scriptul Bash în Linux - Întrebări frecvente
Linia Shebang:
Înainte de a ne aprofunda în metodele de rulare a scripturilor Bash, este important să înțelegem linia shebang. Linia shebang, care este prima linie din scriptul dvs., indică interpretul care ar trebui folosit pentru a executa scriptul. Pentru scripturile Bash, această linie ar trebui să arate de obicei astfel:
#!/bin/bash
Această linie informează sistemul că scriptul trebuie interpretat folosind shell-ul Bash. Chiar dacă unele metode pot funcționa fără această linie, este o bună practică să o includeți în scriptul dvs. pentru a asigura compatibilitatea.
Folosind bash sau sh pentru a rula scriptul Bash în Linux
Acesta este cel mai standard mod de a executa scriptul bash. Trebuie să aveți instalat git bash dacă utilizați Windows. Pentru Linux și macOS, bash este instalat implicit. În această metodă, introducem bash urmat de numele fișierului cu extensia, adică sh în acest caz. Într-un terminal, rulați următorul cod înlocuind numele fișierului cu numele fișierului script-ului bash.
bash filename.sh
Aici, bash este un program care conține mediile shell necesare pentru a rula scriptul din shell-ul bash. Deci, acesta va executa scriptul din interpretul bash.
Folosind comanda bash pentru a rula scriptul.
De asemenea, putem folosi sh pentru a rula scriptul, deoarece va direcționa către shell-ul implicit în mediul de configurare.
sh filename.sh
Folosind comanda sh pentru a rula scriptul bash.
Din exemplul de mai sus, am putut rula un script bash folosind bash, precum și comanda sh. Dacă nu vă aflați în același folder/director ca scriptul, asigurați-vă că specificați calea relativă către script.
Utilizarea sursei pentru a rula scriptul Bash în Linux
Această metodă este destul de ușor de rulat un script bash și toate sunt destul de simple. Trebuie doar să introducem sursa înainte de numele fișierului/scriptului cu o extensie. Într-un terminal, rulați următorul cod înlocuind numele fișierului cu numele fișierului script-ului bash.
source filename.sh
Scriptul va fi pur și simplu executat după aprovizionarea fișierului. Comanda sursă va executa scriptul shell ca comandă bash implicită, cu condiția să vă aflați în shell-ul bash. Trebuie să fiți în shell-ul bash pentru a executa script-ul folosind comanda sursă.
Folosind Sursa pentru a rula un script bash
Din captura de ecran a scriptului care rulează, putem vedea că sursa funcționează exact ca comanda bash sau sh. Scriptul de mai sus este foarte de bază, dar asta nu contează atâta timp cât scriptul este fără erori și fără erori. De asemenea, trebuie să adăugați și aici calea relativă dacă nu vă aflați în același director cu scriptul bash.
Realizarea scriptului executabil cu chmod> pentru a rula Bash Script în Linux
Această metodă vă permite să rulați un script Bash ca executabil, ceea ce înseamnă că îl puteți rula de oriunde în mediul dvs., atâta timp cât aveți un shell Bash disponibil. Pentru a face scriptul executabil, trebuie să-i ajustați permisiunile pentru fișiere folosind chmod> comanda.
Mai întâi, navigați la directorul în care se află scriptul. Apoi, rulați următoarea comandă pentru a schimba modul fișierului, făcându-l executabil:
chmod +x filename.sh
` +x`> flag indică faptul că fișierul ar trebui să fie executabil. Dacă utilizați Linux și nu sunteți utilizatorul root, poate fi necesar să utilizați ` sudo`> înainte de ` chmod`> comanda pentru permisiune.
După ce ați acordat permisiunea de execuție, puteți rula scriptul cu următoarea comandă, presupunând că vă aflați în același director cu scriptul:
./filename.sh
Dacă nu vă aflați pe aceeași cale cu scriptul bash, asigurați-vă că furnizați calea relativă către fișier sau scriptul bash.
./pathToTheFile.sh
folosind chmod și executând scriptul.
Executarea unui script dintr-o cale relativă.
Cum să rulați scriptul Bash în Linux - Întrebări frecvente
Cum rulez un script Bash în Linux?
Pentru a rula un script Bash în Linux, mai întâi trebuie să vă asigurați că scriptul are permisiuni executabile. Puteți face acest lucru folosind `
chmod +x`>comanda urmată de numele scriptului. Odată ce scriptul este executabil, îl puteți rula tastând `./`>urmat de numele scriptului în terminal.
Pot rula un script Bash fără a folosi terminalul?
Da, puteți rula un script Bash fără a utiliza terminalul făcând dublu clic pe fișierul script dacă mediul dvs. desktop îl acceptă. Poate fi necesar să setați mai întâi permisiunile executabile ale scriptului. Alternativ, puteți rula un script Bash indirect dintr-un alt program sau script.
Cum rulez un script Bash ca utilizator specific în Linux?
Pentru a rula un script Bash ca utilizator specific în Linux, puteți utiliza `
sudo -u`>comanda urmată de numele de utilizator și calea către script. Acest lucru vă permite să executați scriptul cu permisiunile utilizatorului specificat.
De ce primesc o eroare de refuzare a permisiunii când încerc să rulez un script Bash?
Eroarea de permisiune refuzată apare atunci când scriptul nu are permisiuni executabile. Puteți rezolva această problemă folosind `
chmod +x`>comandă pentru a acorda permisiuni executabile scriptului. Alternativ, asigurați-vă că încercați să executați scriptul dintr-un director în care aveți permisiunile corespunzătoare.
Pot rula un script Bash în fundal?
Da, puteți rula un script Bash în fundal, adăugând un ampersand (`
&`>) la sfârșitul comenzii când rulează scriptul. Acest lucru permite scriptului să ruleze asincron și puteți continua să utilizați terminalul în timp ce scriptul se execută în fundal. În plus, puteți utiliza instrumente precum `nohup`>pentru a rula scripturi detașate din sesiunea terminalului.
Concluzie:
În acest articol, am discutat despre diferite metode pentru rularea scripturilor Bash în Linux și am oferit cele mai bune practici pentru a asigura o execuție fără probleme. Incluzând o linie shebang în scripturile dvs. și alegând metoda potrivită pentru nevoile dvs., puteți valorifica întreaga putere a scripturilor Bash pentru a automatiza sarcinile și a simplifica fluxul de lucru din linia de comandă. Indiferent dacă preferați să utilizați bash> , sh> , sau source> , sau să vă faceți scripturile executabile cu chmod> , aceste metode vă permit să rulați scripturi Bash în mod eficient și eficient într-un mediu Linux.