Što je Shell skripta i zašto biste ga trebali koristiti

  • Peter Holmes
  • 0
  • 5197
  • 1311
Oglas

Školjka je program unutar Linux ili Unix operativnog sustava koji vam omogućuje unos naredbi za izvršavanje od strane sustava. Kada se otvori prozor terminala na Linux računalu, pokreće program ljuske koji predstavlja sučelje za unos naredbi. Ovo sučelje je poznato kao sučelje naredbenog retka. Kad se unese naredba, izvršava je ljuska i izlaz se prikazuje na ekranu.

Osim što može interaktivno prihvaćati i izvršavati naredbe, ljuska može i izvršavati naredbe spremljene u datoteci. Ovaj način izvršenja poznat je pod nazivom skripte za školjke, i u ovom članku obrađujemo osnove skriptiranja školjaka neke dodatne značajke i sve je to izrezalo na nekoliko ureza. Evo nekoliko razloga što biste trebali isprobati. .

1. Povijest školjke

Počevši od Unixa u 1970-ima, postojao je program školjke nazvan V6 školjka koji je razvio Ken Thomson. Bila je interaktivna školjka i nedostajala je scenaristička sposobnost.

Slijedio je vlč Bourne Shell 1977. godine i danas se koristi kao zadana školjka za korijen račun. Ova ljuska dodala je scenarističke sposobnosti koje su se tijekom godina pokazale izuzetno korisnim u praksi.

Daljnji razvoj školjke 1980-ih stvorio je mnoge popularne inačice školjaka, od kojih su najpopularnije C-Shell i the Korn Shell. Svaka od ovih školjki donijela je svoju sintaksu koja se u određenim slučajevima drastično razlikovala od izvorne ljuske.

Jedna od najpopularnijih školjki danas je Bash Shell. Bash znači Bourne-Again-Shell i uvelike je poboljšana varijanta izvornog Bourneova školjka.

U ovom članku opisujemo skripte za školjke Bash Shell Brzi vodič za Linux Bash Shell u sustavu Windows 10 Brzi vodič za Linux Bash Shell u sustavu Windows 10 Sada možete pokrenuti Linux na Windows-u. Saznajte više o Bashu u sustavu Windows, o tome kako i zašto biste ga trebali instalirati, do skrivenih funkcija o kojima vjerojatno niste znali. .

2. Izvršavanje skripte školjke

Kako izvršiti skriptu ljuske? Jednostavan. Samo proslijedite putanju skripte kao argument ljusci:

Primjer skripte školjke:

odjek "zdravo svijetu" 

Pokrenite ga na sljedeći način:

$ bash hello.sh # ispisuje zdravo svijet 

Bilješka: Ljuska zahtijeva da linije završavaju LF znakovi (Line-Feed). Ako skriptu školjke napišete u Windows i pokušate je izvršiti izravno na Linux sustavu, možete naići na pogreške. Windows koristi CR-LF kombinaciju (Carriage-Return-Line-Feed) za završetak linije. Ovo se mora pretvoriti samo u LF. Provjerite svoj Windows Editor za načine kako to učiniti.

Postoji još jedan način da se skripta školjke izvrši izravno kao naredba. Umetnite sljedeći redak ( hashbang deklaracija) kao prvi redak vaše skripte shell.

#! / Bin / bash 

S ovom promjenom, naša jednostavna skripta ljuske je sada:

#! / bin / bash odjekuju "zdravo svijetu" 

Sada trebate izvršiti datoteku skripte na sljedeći način:

$ chmod + x hello.sh 

U ovom trenutku možete izvršiti datoteku skripte izravno, bez da se eksplicitno pozivate na ljusku.

$ hello.sh # ispisuje zdravo svijet 

Pogledajmo sada neke prednosti korištenja skripti ljuske Što su CGI skripte i kako poboljšati web stranice? Što su CGI skripte i kako poboljšati web stranice? CGI znači Common Gateway Interface. To je standardni protokol za web poslužitelje koji izvršavaju programe i generiraju izlaz za web preglednike. Saznajte sve o CGI skriptama i kako oni mogu poboljšati vaše web mjesto. .

3. Automatizacija zadataka

Prva prednost korištenja skripti za ljuske je automatizacija često izvršenih zadataka. 7 dnevnih zadataka za koje niste znali da se mogu automatizirati u nekoliko minuta 7 dnevnih zadataka koje niste znali da se mogu automatizirati u nekoliko minuta. Mnogo je stvari koje možete automatizirati sada to će vam uštedjeti vrijeme i omogućiti vam da se usredotočite na druge stvari. Donosimo vam sedam stvari koje trenutno možete automatizirati s pravim alatima. , Pretpostavimo da imate zadatak koji svakodnevno morate obavljati. Ako morate svakodnevno izvršavati više naredbi na vašem Linux sustavu, možete ih pohraniti u datoteku i pokrenuti skriptu. Primjeri uključuju:

  • Arhivirajte i prenosite datoteku ili mapu svakodnevno u skladište oblaka Dropbox vs. Google Drive u odnosu na OneDrive: Koja je pohrana u oblaku najbolja za vas? Dropbox vs. Google Drive u odnosu na OneDrive: Koja je pohrana u oblaku najbolja za vas? Jeste li promijenili način razmišljanja o pohrani u oblaku? Popularnim opcijama Dropboxa, Google diska i OneDrivea pridružili su se i drugi. Pomažemo vam odgovoriti koju uslugu pohrane u oblaku trebate koristiti. kao što je S3.
  • Stisnite datoteke dnevnika koje svakodnevno rastu.
  • Dohvati cijene dionica, analizira dohvaćene podatke i pokreni e-poštu ili SMS kada su ispunjeni određeni uvjeti (previsoke ili preniske cijene).

4. Kombiniranje više naredbi

Uz automatizaciju čestih zadataka, također bi vam bilo korisno da možete kombinirati više sljedova naredbi u jednu naredbu. Sjećanje na jednu naredbu mnogo je jednostavnije od više naredbi, a da ne spominjemo redoslijed kojim se moraju izvršiti.

Primjer je redoslijed pokretanja Linux operativnog sustava Vodič za početak rada za Linux Vodič za početak rada za Linux Vodič za početnike za početnike za Linux! Vjerojatno ste čuli za Linux, besplatni operativni sustav otvorenog koda koji je gurao Microsoft. sebe. Kao dio pokretanja sustava, OS izvršava brojne naredbe kako bi sustav doveo u ispravno stanje. Ove naredbe su zapravo skripte ljuske koje žive pod / etc imenik. Ako pogledate jednu od ovih skripti ljuske, shvatit ćete složenost dizanja sustava, koju biste možda morali izvesti ručno u nedostatku skripti školjki.

Slijedi primjerak skripte školjke, / Etc / profile, koja se izvršava svaki put kada se korisnik prijavi. Zamislite upisivanje ovih naredbi ručno!

# / etc / profile: .profilna datoteka za cijelu mrežu za Bourne ljusku (sh (1)) # i Bourne kompatibilne školjke (bash (1), ksh (1), pepeo (1),…). if ["$ PS1"]; onda ako je ["$ BASH"] && ["$ BASH"! = "/ bin / sh"]; tada # datoteka bash.bashrc već postavlja zadani PS1. # PS1 = "\ h: \ w \ $" ako [-f /etc/bash.bashrc]; onda. /etc/bash.bashrc fi else if ["'id -u'" -eq 0]; tada je PS1 = "#" else PS1 = "$" fi fi fi # Zadani umask sada pam_umask. # Pogledajte pam_umask (8) i /etc/login.defs. ako je [-d /etc/profile.d]; onda za i u /etc/profile.d/*.sh; učiniti ako [-r $ i]; onda. $ i fi učinio unset i fi 

5. Lakše se razvijati

Moguće je izvoditi iste radnje kao i skripta ljuske unutar redovnog programa napisanog C / C ++. Međutim, daleko je lakše napisati i otkloniti skriptu školjke nego program C / C ++. Posebno za zadatke administracije sustava koji uključuju izvršavanje vanjskih naredbi, stvaranje i uklanjanje datoteka i mapa, preusmjeravanje izlaza, itd.

C / C ++ programi bolji su za znatno nižu razinu rada, poput pozivanja na sistemske pozive, manipuliranja strukturama podataka itd..

6. Transparentnost

Skripta školjke, zbog tekstualne datoteke, može se lako pregledati i provjeriti kakve radnje izvodi. S druge strane, jedini način na koji ćete ikada saznati što radi program napisan na jeziku kao što je C / C ++ (i sastavljen u izvršnu datoteku) je ako odluči da vam kaže ili ako imate pristup izvornom kodu. Na primjer, možete provjeriti briše li skripta ljuske bilo koju datoteku, a ako vam trebaju te datoteke, možete ih kopirati na drugo mjesto.

Također je puno lakše dijagnosticirati probleme sa skriptu školjki, nego redovitim programima, jer možete pogledati izvorni kod. Je li ta skripta neuspjela jer direktorij ne postoji? Možete pogledati u kodu skripte i stvoriti direktorij (iako bi dobro opetovana skripta ljuske trebala provjeriti i stvoriti je kako bi izbjegla takve pogreške).

7. Prijenosni

Skripta školjke Brzi vodič za Linux Bash Shell u sustavu Windows 10 Brzi vodič za Linux Bash Shell u sustavu Windows 10 Sada možete pokrenuti Linux na Windowsima. Saznajte više o Bashu u sustavu Windows, o tome kako i zašto biste ga trebali instalirati, do skrivenih funkcija o kojima vjerojatno niste znali. može se prenijeti na druge Unix i Unix operativne sustave i izvršiti (ako je prisutna i sama ljuska). Čak i prilikom prijenosa skripte školjke iz različitih arhitektura poput x86, MIPS, Sparc, itd., Skripte školjki su mnogo prenosivije od C / C ++ programa.

Jedini način na koji se C / C ++ program može prenijeti i koristiti na drugi sustav je kopiranje izvornog koda, izrada programa i pokušaj pokretanja. Čak i tada možda neće raditi kako se očekuje ako koristi kod koji je specifičan za arhitekturu.

Sada kada imate ideju što su skripte školjki i njihove brojne prednosti, ne biste ih htjeli koristiti za svoje zadatke? Sa kojim ste se problemima suočili prilikom korištenja? Javite nam u komentarima u nastavku.




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.