Scripturile Bash reprezintă o aptitudine valoroasă pentru orice utilizator Linux. Chiar și la nivel de începător, stăpânirea acestora poate face diferența dintre a exploata la maximum potențialul sistemului tău și a executa sarcinile manual. Prin urmare, în acest ghid, îți vom prezenta cum să creezi scripturi bash pentru a automatiza Linux și a prelua controlul total asupra mediului tău de lucru. Vom parcurge elementele fundamentale ale scripturilor shell Bash, rolul unui script, modalitatea de a-l executa pe sistemul tău, semnificația shebang-urilor și multe altele.
Tipuri de Scripturi
Există mai multe tipuri de scripturi, în principal: SH și BASH. Extensia fișierului este crucială, deoarece indică interpretorului cum să ruleze scriptul. Un fișier cu extensia SH poate fi executat în orice shell, nu doar în Bash. Asta înseamnă că un script creat pentru Bash pe Linux poate funcționa pe Mac, BSD și alte sisteme cu shell-uri similare.
Scripturile care utilizează extensia BASH sunt concepute să funcționeze exclusiv în Bash. Prin urmare, un script cu extensia bash nu va rula în shell-ul Fish pe Linux sau în alte shell-uri similare disponibile.
Shebang-urile
Unele scripturi nu folosesc deloc extensii de fișiere, ci un shebang pentru a ajuta interpretorul să înțeleagă natura scriptului și cum să-l execute. Atunci când scrii un script, shebang-ul trebuie să fie ÎNTOTDEAUNA pe prima linie. Absența unui shebang poate determina refuzul executării scriptului, mai ales dacă nu se utilizează nicio extensie de fișier.
Există multe aspecte de învățat despre shebang-uri, dar începătorii nu trebuie să se preocupe prea mult de ele. Acestea devin utile în special utilizatorilor avansați care creează instrumente Bash complexe. Pentru un începător, shebang-ul standard este suficient: #!/bin/bash
.
Crearea unui Script Bash
Mulți începători confundă scripturile bash cu programarea propriu-zisă. Scopul principal al scripturilor bash este de a asocia mai multe comenzi, executând astfel sarcini lungi și complexe fără a fi necesară scrierea fiecărei comenzi individual în terminal. Dacă intenționezi să faci programare serioasă în Bash, ar trebui să te oprești și să iei în considerare un limbaj de programare real, utilizat în Linux, cum ar fi Python.
Pentru început, deschide un terminal și tastează următoarea comandă:
nano myfirstbashscript
Aceasta va deschide editorul de text Nano. În interiorul Nano, adaugă shebang-ul pentru a ajuta interpretorul să înțeleagă ce să facă cu scriptul:
#!/bin/bash
Acum, putem face orice! De exemplu: un utilizator Ubuntu poate crea un script simplu de actualizare, adăugând următoarele linii:
sudo apt update; sudo apt upgrade -y
Alternativ, iată un alt exemplu: poți crea un script ping continuu pentru a rula în fundal, dacă ești preocupat de viteza rețelei.
ping google.com
Adaugă orice comandă sau grup de comenzi dorești în script! Dă frâu liber creativității!
După ce ai adăugat tot ce dorești în scriptul tău, salvează-l cu Nano folosind CTRL + O
.
Odată ce scriptul este creat, este timpul să actualizezi permisiunile. În terminal, tastează:
sudo chmod +x myfirstbashscript
Executarea Scripturilor
Pentru a rula un script shell, deschide un terminal și tastează:
sudo sh script.sh
Pentru a rula fișiere bash, încearcă:
sudo bash script.bash
Alternativ, orice script, indiferent de extensia fișierului, poate fi executat simplu cu ./nume_fisier
în terminal.
Toate cele trei metode de a rula scripturi funcționează corect. Totuși, utilizarea ./nume_fisier
este cea mai puțin recomandată, deoarece scripturile nu vor rula de multe ori dacă nu au permisiunile corespunzătoare. Aceste permisiuni pot fi setate cu:
sudo chmod +x script
Transformarea Scriptului într-un Binar
Pentru a rula scriptul tastând doar numele fișierului în terminal, va trebui să îl transformi într-un binar. Pentru a face acest lucru, folosește comanda chmod pentru a-l face executabil.
sudo chmod +x
Odată ce scriptul este marcat ca executabil, este timpul să-l muți astfel încât să fie accesibil în calea utilizatorului. Acest lucru se realizează cu ajutorul comenzii mv
. Alternativ, poți utiliza comanda cp
în loc de mv
dacă vrei să păstrezi o copie de rezervă a scriptului în locația inițială.
sudo mv /locatia/scriptului /usr/bin/
sau
sudo cp /locatia/scriptului /usr/bin/
Ulterior, execută scriptul nou mutat în interiorul terminalului, de oriunde, tastând pur și simplu numele său. De exemplu: presupunem că ai utilizat YouTube-DL pentru a scrie un script de descărcare automată de pe YouTube și l-ai plasat în /usr/bin/
pentru acces facil.
Pentru a rula acel script, vei face:
youtubescript
Și asta e tot!
Concluzie
Învățarea limbajului bash este un atu valoros. Fără el, administratorii de sistem și utilizatorii de terminal s-ar transforma în sclavi ai terminalului ore întregi. Dar, cu ajutorul scripturilor bash, pot automatiza Linux. Prin însușirea puterii Bash, aceștia pot crea toate acele operațiuni complexe și să le execute rapid printr-un simplu script.
Shell-ul este un instrument remarcabil, și cu cât aprofundezi mai mult, cu atât vei învăța mai multe despre propriile sisteme Linux, despre cum să le automatizezi și chiar cum să îmbunătățești funcționarea lor internă! Posibilitățile sunt nelimitate cu bash, tot ce trebuie este puțină creativitate!