Ce este Shell Scripting și de ce ar trebui să-l folosești

Ce este Shell Scripting și de ce ar trebui să-l folosești / Programare

Coajă este un program dintr-un sistem de operare Linux sau Unix, care vă permite să introduceți comenzi pentru a fi executate de sistem. Când o fereastră terminal este deschisă pe un computer linux, acesta pornește programul shell care prezintă o interfață pentru a introduce comenzi. Această interfață este cunoscută ca interfața liniei de comandă. Când este introdusă o comandă, ea este executată de shell și ieșirea este afișată pe ecran.

Pe lângă faptul că poate accepta și executa comenzi interactiv, shell-ul poate executa și comenzi stocate într-un fișier. Acest mod de execuție este cunoscut sub numele de shell scripting, și în acest articol vom acoperi elementele de bază ale shell scripting 5 motive pentru care ar trebui să utilizați PowerShell în loc de Scripting lot 5 motive pentru care ar trebui să utilizați PowerShell în loc de script-ul de scară PowerShell este ceea ce ați obține dacă ați trecut Prompt Command cu Scripting Batch, unele caracteristici suplimentare, și l-au lovit cu mai multe crestături. Iată câteva motive pe care ar trebui să le încercați. Citeste mai mult .

1. Istoria Shell-ului

Începând cu Unix în anii 1970, a existat un program shell denumit V6 Shell dezvoltat de Ken Thomson. A fost o coajă interactivă și nu avea capacitatea de scriere.

Acesta a fost urmat de Bourne Shell în 1977 și rămâne în uz astăzi ca shell implicit pentru rădăcină cont. Această coajă a adăugat abilități de scriere care s-au dovedit extrem de utile în practică de-a lungul anilor.

Dezvoltarea ulterioară a cochiliei în anii 1980 a dat naștere la numeroasele variante de coajă populare, cele mai populare dintre acestea fiind C-Shell si Korn Shell. Fiecare dintre aceste cochilii a adus sintaxa proprie, care, în anumite cazuri, a fost drastic diferită de cochilia originală.

Una dintre cele mai populare cochilii de azi este Bash Shell. Bash înseamnă Bourne nou-Shell și este o variantă mult îmbunătățită a originalului Bourne Shell.

În acest articol, vom descrie shell-ul shell-ului pentru Bash Shell Un ghid rapid pentru Linux Bash Shell în Windows 10 Un ghid rapid pentru Linux Bash Shell în Windows 10 Acum puteți rula Linux pe Windows. Aflați mai multe despre Bash pe Windows, despre cum și de ce ar trebui să îl instalați, despre funcții ascunse despre care probabil nu știați. Citeste mai mult .

2. Executarea unui Shell Script

Cum executați un script shell? Simplu. Trebuie doar să treci calea scriptului ca argument pentru shell:

Un exemplu de script shell:

echo "hello world" 

Rulați-l după cum urmează:

$ bash hello.sh # imprimă salut lume 

Notă: Cochilii necesită terminarea liniilor cu caractere LF (feed-line). Dacă scrieți scriptul shell pe Windows și încercați să îl executați direct pe un sistem Linux, este posibil să întâmpinați erori. Windows utilizează combinația CR-LF (Feed-Line-Feed-Feed) pentru terminarea liniei. Aceasta trebuie convertită numai în LF. Verificați editorul Windows pentru modalități de a face acest lucru.

Există un alt mod de a executa direct un script de shell ca o comandă. Introduceți următoarea linie ( hashbang declarație) ca prima linie a script-ului tău shell.

#! / Bin / bash 

Cu această modificare, scriptul nostru simplu de shell este acum:

#! / bin / bash ecou "salut lume" 

Acum, trebuie să faceți fișierul executabil executabil după cum urmează:

$ chmod + x hello.sh 

În acest moment, puteți executa direct fișierul de script fără a fi nevoie să menționați explicit shell-ul.

$ hello.sh # imprimă salut lume 

Să ne uităm acum la unele avantaje ale utilizării scripturilor shell Ce sunt Scripturile CGI și cum îmbunătățesc site-urile? Ce sunt scripturile CGI și cum îmbunătățesc site-urile? CGI reprezintă interfața comună a gateway-ului. Este un protocol standard pentru serverele web pentru a executa programe și pentru a genera ieșiri pentru browserele web. Aflați totul despre scripturile CGI și despre modul în care pot îmbunătăți site-ul dvs. Web. Citeste mai mult .

3. Automatizarea sarcinilor

Primul avantaj al utilizării scripturilor shell este automatizarea sarcinilor executate frecvent 7 Sarcini zilnice pe care nu ați știut că le-ați putea automatiza în câteva minute 7 Sarcini zilnice pe care nu le știați Puteți automatiza în câteva minute Există multe lucruri pe care le puteți automatiza acum care vă va economisi timp și vă va permite să vă concentrați asupra altor lucruri. Vă oferim șapte lucruri pe care le puteți automatiza acum cu ajutorul instrumentelor potrivite. Citeste mai mult . Să presupunem că aveți o sarcină pe care trebuie să o efectuați în fiecare zi. Dacă aveți nevoie să executați comenzi multiple în sistemul dvs. Linux în fiecare zi, puteți stoca aceste comenzi într-un fișier și puteți rula scriptul. Exemplele includ:

  • Arhivați și încărcați zilnic un fișier sau un dosar într-o unitate de stocare în cloud Dropbox vs. Google Drive vs. OneDrive: Care spațiu de stocare în cloud este cel mai bun pentru dvs.? Dropbox vs. Google Drive vs. OneDrive: Ce spațiu de stocare în cloud este cel mai bun pentru dvs.? Ați schimbat modul în care vă gândiți la spațiul de stocare în cloud? Opțiunile populare ale Dropbox, Google Drive și OneDrive au fost alăturate de alții. Vă ajutăm să răspundeți la serviciul de stocare în cloud pe care îl veți folosi. Citiți mai multe, cum ar fi S3.
  • Comprimați fișierele de jurnale care tind să crească în fiecare zi.
  • Preluați prețurile acțiunilor, analizați datele preluate și declanșați un e-mail sau SMS atunci când sunt îndeplinite anumite condiții (prețuri prea mari sau prea scăzute).

4. Combinarea mai multor comenzi

În plus față de automatizarea sarcinilor frecvente, ați putea găsi, de asemenea, avantajos că puteți combina mai multe secvențe de comenzi într-o singură comandă. Amintirea unei singure comenzi este mult mai simplă decât comenzile multiple, ca să nu mai vorbim de ordinea în care trebuie executate.

Un exemplu ar fi secvența de boot-up a sistemului de operare Linux Ghidul de bază Ghidul pentru Linux Ghidul de bază pentru Linux Ghidul de bază pentru Linux al unui începător pentru Linux! Probabil că ați auzit despre Linux, sistemul liber de operare open-source care se îndreaptă împotriva Microsoft. Citește mai mult. Ca parte a boot-up-ului, sistemul de operare execută un număr de comenzi pentru a obține sistemul într-o stare corespunzătoare. Aceste comenzi sunt de fapt shell script-uri care trăiesc sub / etc director. Dacă aruncați o privire la unul dintre aceste script-uri de shell, veți realiza complexitatea încărcării unui sistem, pe care ar fi trebuit să-l executați manual, în absența script-urilor shell.

Următorul este un exemplu de script shell, / Etc / profile, care se execută de fiecare dată când un utilizator se conectează. Imaginați-vă că tastați manual aceste comenzi!

# / etc / profile: fișierul .profile la nivel de sistem pentru shell-ul Bourne (sh (1)) # și cochilii compatibile Bourne (bash (1), ksh (1), cenușă. dacă ["$ PS1"]; atunci dacă "[$ BASH"] && ["$ BASH"! = "/ bin / sh"]; apoi # Fișierul bash.bashrc stabilește deja PS1 implicit. # PS1 = "\ h: \ w \ $" dacă [-f /etc/bash.bashrc]; atunci . /etc/bash.bashrc altfel dacă ["'id -u'" -eq 0]; apoi PS1 = "#" altceva PS1 = "$" fi fi fi # Umask implicit este acum gestionat de pam_umask. # Consultați pam_umask (8) și /etc/login.defs. dacă [-d /etc/profile.d]; apoi pentru i în /etc/profile.d/*.sh; dacă [-r $ i]; atunci . I-am făcut unset fi 

5. Mai ușor de dezvoltat

Este posibil să se efectueze aceleași acțiuni ca și un script shell într-un program obișnuit scris în C / C ++. Cu toate acestea, este mult mai ușor să scriem și să depanem un script de shell decât un program C / C ++. Mai ales pentru activitățile de administrare a sistemului care includ executarea comenzilor externe, crearea și eliminarea fișierelor și directoarelor, redirecționarea ieșirilor etc..

Programele C / C ++ sunt mai bune pentru un nivel mult mai scăzut de operare, cum ar fi invocarea apelurilor de sistem, manipularea structurilor de date etc..

6. Transparență

Un script de shell, în virtutea faptului că este un fișier text, poate fi văzut cu ușurință pentru a verifica acțiunile pe care le efectuează. În schimb, singurul mod în care veți ști vreodată ce este un program scris într-o limbă cum ar fi C / C ++ (și compilat într-un executabil) este dacă vă alege să vă spun sau dacă aveți acces la codul sursă. De exemplu, puteți verifica dacă un script shell șterge orice fișiere și dacă aveți nevoie de aceste fișiere, le puteți copia într-o altă locație.

De asemenea, este mult mai ușor să diagnosticați problemele legate de script-urile de shell, decât de programele obișnuite, deoarece vă puteți uita la codul sursă. Este că acest script nu funcționează deoarece un director nu există? Puteți să vă uitați în codul de script și să creați directorul (deși un script shell bine comportat ar trebui să verifice și să-l creeze pentru a evita astfel de erori).

7. Portabil

Un script de shell Un ghid rapid pentru Linux Bash Shell în Windows 10 Un ghid rapid pentru Linux Bash Shell în Windows 10 Acum puteți rula Linux pe Windows. Aflați mai multe despre Bash pe Windows, despre cum și de ce ar trebui să îl instalați, despre funcții ascunse despre care probabil nu știați. Citiți mai multe pot fi transferate în alte sisteme de operare Unix și Unix și executate (dacă shell-ul însuși este prezent). Chiar și atunci când se transferă un script de shell de la diferite arhitecturi, cum ar fi x86, MIPS, Sparc, etc, scripturile shell sunt mult mai portabile decât programele C / C ++.

Singurul mod în care un program C / C ++ poate fi transferat și utilizat într-un alt sistem este să copiați codul sursă, să construiți programul și să încercați să îl rulați. Chiar și atunci, este posibil să nu funcționeze așa cum era de așteptat dacă utilizează un cod specific pentru arhitectură.

Acum, că aveți o idee despre ce sunt scripturile de shell și despre numeroasele lor avantaje, nu doriți să le utilizați pentru sarcinile dvs.? Cu ce ​​probleme ați confruntat atunci când le folosiți? Spuneți-ne în comentariile de mai jos.

Explorați mai multe despre: Linux Bash Shell.