Cum să scrieți scripturi Bash pentru a automatiza Linux

Bash scripting este o abilitate utilă de învățat ca utilizator Linux. Chiar și ca începător, cunoașterea acestei abilități poate fi diferența dintre a profita din plin de mașina ta și a face totul manual. De aceea, în acest articol, vă vom învăța cum să scrieți scripturi bash pentru a automatiza Linux și să preluați controlul deplin asupra desktopului dvs. Vom trece peste elementele de bază ale scripturilor cu shell-ul Bash, elementele de bază despre ceea ce face un script, cum să le rulați pe sistemul dvs., ce înseamnă shebangs și multe altele!

Tipuri de scripturi

Există multe tipuri diferite de scripturi. În principal: SH și BASH. Aceste extensii de fișiere sunt importante, deoarece extensia de fișier îi spune interpretului cum să o ruleze. Dacă un fișier este un fișier SH, acesta poate fi rulat în orice shell, nu doar în Bash. Aceasta înseamnă că un script scris pentru Bash pe Linux poate rula pe Mac, BSD și alte locuri cu shell-uri similare.

Scripturile care folosesc extensia de fișier BASH sunt menite să ruleze numai în Bash. Este suficient să spunem că scriptul tău cu extensia de fișier bash nu va rula în shell-ul Fish pe Linux sau în oricare dintre celelalte shell-uri similare disponibile.

Shebangs

Unele scripturi nu folosesc deloc extensii de fișiere. În schimb, folosesc un shebang pentru a-i permite interpretului să înțeleagă pentru ce este scriptul și cum să-l ruleze. Când scrii un scenariu, sâmbetul este ÎNTOTDEAUNA pe primul loc. Dacă un shebang este absent, de multe ori un script va refuza să ruleze, mai ales dacă nu este folosită nicio extensie de fișier.

  Cum să aplicați un patch la un fișier (și să creați patch-uri) în Linux

Sunt multe de învățat despre shebangs, dar începătorii nu trebuie să își facă griji pentru ele. Acestea se dovedesc utile doar utilizatorilor avansați de Bash, care doresc să scrie instrumente Bash incredibil de complexe. Ca începători, singurul shebang la care utilizatorii trebuie să se gândească este cel standard: #!/bin/bash

Realizarea unui script A Bash

Mulți începători confundă scripturile bash cu programarea reală. Scopul principal al scripturilor în bash este să încordeze mai multe comenzi, făcând efectiv lucruri lungi și complicate, fără a fi nevoie să scrieți fiecare lucru mic în shell-ul terminalului. Dacă încercați să faceți o programare serioasă în Bash, opriți-vă și luați în considerare un limbaj de programare real utilizat pe Linux, cum ar fi Python.

Pentru a începe, deschideți un terminal și introduceți următoarea comandă:

nano myfirstbashscript

Acest lucru afișează editorul de text Nano. În interiorul nano, adăugați shebang, pentru a ajuta interpretul să identifice ce să facă cu scenariul.

#!/bin/bash

De aici, putem face orice! De exemplu: un utilizator Ubuntu poate face un script de actualizare simplu adăugând liniile:

sudo apt update;sudo apt upgrade -y

Alternativ, un alt exemplu: creați un script ping continuu pentru a rula în fundal, dacă vă îngrijorează viteza rețelei.

ping google.com

Adăugați orice comandă (comenzi) doriți la script! Fii creativ!

După ce ați adăugat ceea ce doriți în scriptul dvs., salvați-l cu nano folosind CTRL + O.

Cu scriptul creat, este timpul să actualizați permisiunile. Într-un terminal, faceți:

sudo chmod +x myfirstbashscript

Rularea scripturilor

Pentru a rula un script shell, deschideți un terminal și faceți:

sudo sh script.sh

Pentru a rula fișiere bash, încercați:

sudo bash script.bash

Alternativ, orice script, indiferent de extensia fișierului, poate rula cu ușurință cu ./filename în terminal.

  Cum se instalează Java pe Linux

Toate cele trei moduri de a rula scripturi funcționează foarte bine. Acestea fiind spuse, folosirea ./filename este cea mai proastă cale, deoarece scripturile nu vor rula adesea decât dacă scriptul bash are permisiunile corecte. Setați permisiunile cu:

sudo chmod +x script

Transformarea scriptului dvs. într-un binar

Pentru a rula scriptul dvs. doar tastând numele fișierului în terminal, va trebui să îl transformați într-un binar. Pentru a face acest lucru, utilizați comanda chmod pentru a o face executabilă.

sudo chmod +x

Când scriptul este marcat ca executabil, este timpul să mutați scriptul astfel încât să fie accesibil în calea utilizatorului. Faceți acest lucru cu comanda MV. Alternativ, utilizați comanda CP în loc de comanda mutare dacă doriți să păstrați o copie de rezervă a scriptului în locația sa originală.

sudo mv /location/of/script /usr/bin/

sau

sudo cp /location/of/script /usr/bin/

Apoi, rulați scriptul nou mutat în interiorul terminalului, de oriunde, pur și simplu tastând numele acestuia în terminal. De exemplu: ați folosit YouTube-DL pentru a scrie un script de extragere automată YouTube și l-ați plasat în /usr/bin/ pentru acces ușor.

Pentru a rula respectivul script, ai face:

youtubescript

Asta e!

Concluzie

Învățarea limbajului bash este un instrument util. Fără el, administratorii de sistem și tociștii terminalelor s-ar trezi sclavi unui terminal ore în șir. În schimb, pot scrie scripturi bash pentru a automatiza Linux. Învățând să valorificați puterea lui Bash, scrieți toate aceste operațiuni complexe și le executați rapid cu un script.

Shell-ul este frumos și, cu cât înveți mai multe despre el, cu atât vei afla mai multe despre propriile lor sisteme Linux, cum să le automatizezi și chiar să îmbunătățești modul în care lucrurile funcționează intern! Cerul este limita cu bash, tot ce este nevoie este puțină creativitate!

  Cum să comutați de la Bash la Korn Shell pe Linux