Shell-ul Bash și Bash este principala componentă de management pentru sistemele Linux. Comenzile rulează pe bash pentru a finaliza sarcini sau lucrări. Aceste comenzi pot fi stocate într-un fișier care se numește script shell. Scriptul shell este folosit pentru a rula comenzi unice sau mai multe apelând doar fișierul script shell fără a scrie comenzi din nou și din nou. Scripturile shell au extensia *.sh pentru Bash sau SH. În acest tutorial, vom învăța cum să rulați fișiere script shell în moduri diferite.
creare script Shell sau fișier Script
înainte de a începe să rulați un fișier script shell, creăm un fișier script. Doar creați un fișier text cu extensia *.sh. Apoi puneți câteva comenzi shell în ea. În acest exemplu, creăm scriptul shell numit systeminfo.sh .
hostnamectlecho "This is a shell script."
face Shell Script executabil și a alerga
modul cel mai comandă pentru a executa sau a rula un script shell este de a face executabil și apoi apel. Fișierul shell este doar un fișier cu un text implicit. Poate fi executabil de shell utilizând comanda chmod. În exemplul următor facem systeminfo.sh shell fișier script executabil pentru utilizatorul curent.
chmod u+x systeminfo.sh
putem verifica dacă fișierul script shell este executabil cu comanda ls ca mai jos.
ls -l systeminfo.sh
ieșirea este ca mai jos, unde utilizatorul are permisiunea de executare care este reprezentată cu litera X.
-rwxrw-r-- 1 ismail ismail 44 Oca 28 04:18 systeminfo.sh
acum putem rula sau executa fișierul script direct apelând cu numele și calea acestuia. Dacă fișierul script se află în directorul de lucru curent, acesta poate fi apelat ca mai jos.
./systeminfo.sh
alternativ, dacă scriptul shell dacă este un alt director, atunci directorul de lucru curent putem specifica calea completă sau absolută pentru a-l executa. Acesta este modul mai fiabil în care fișierul script poate fi executat corect pentru fiecare situație.
/home/ismail/systeminfo.sh
rulați scriptul Shell direct cu comanda bash
fiecare comandă Bash shell este interpretată și executată prin interpretul bash. Interpretul bash este un fișier executabil care se află / usr / bin / bash . Putem executa un fișier script shell direct oferindu-l în binar bash. Această metodă nu necesită efectuarea fișier script executabil. În exemplul următor executăm fișierul script shell prin binar sau comandă bash.
bash ./systeminfo.sh
alternativ, calea completă a fișierului script shell poate fi specificată ca mai jos.
bash /home/ismail/systeminfo.sh
rulați scriptul Shell ca Root
în mod implicit, scriptul shell este executat ca utilizator curent cu privilegiile de utilizator curente. Dar, în unele cazuri, este posibil să fie nevoie să rulăm fișierul script shell ca root sau cu privilegii root. Putem folosi comanda sudo în timpul executării fișierului script shell.
sudo ./systeminfo.sh
cu calea absolută a fișierului script shell, comanda sudo poate fi îmbinată ca mai jos.
sudo /home/ismail/systeminfo.sh
Run Shell Script prin GUI (Desktop Environment)
Shell script fișiere pot fi, de asemenea, rula prin intermediul GUI sau mediul Desktop. Dar mai întâi ar trebui să fie activat pentru execuție. Faceți clic dreapta pe fișierul script și faceți clic pe Proprietăți ca mai jos.
în ferestrele de proprietăți navigați la fila Permisiuni și verificați configurația executare. Acest lucru permite executarea fișierului ca program.
Debug Shell Script în timp ce rulează
fișierul script shell este ca o aplicație care a executat comenzi diferite. Scriptul shell poate fi depanat pentru a detecta erori sau erori. De asemenea, fișierul script shell poate fi depanat pentru a obține informații detaliate despre executarea scriptului shell. Parametrul-x este utilizat cu comanda bash pentru a depana fișierul script shell.
bash -x ./systeminfo.sh
Salvați ieșirea scriptului Shell într-un fișier
unele scripturi shell creează o ieșire care este imprimată în ieșirea sau terminalul standard. Această ieșire poate fi redirecționată cu ușurință într-un fișier utilizând operatorul >. În exemplul următor, redirecționăm „systeminfo.sh” shell script ieșire în fișierul numit ” ieșire.txt”.
./systeminfo.sh > output.txt