Što je Bash skripta?

What Is Bash Script

Jeste li ikada čuli da vam je otac rekao da uzmete čašu vode? Imate izbor reći Ne, ali računala nemaju taj izbor. Računala će raditi točno ono što biste im rekli. Bash je samo ljuska koja vam omogućuje komunikaciju s računalom i omogućuje vam davanje uputa za to. Skripta je u osnovi samo skup uputa danih računalu za izvršavanje različitih značajnih zadataka. Skripta vam pomaže automatizirati različite zadatke uz luksuz za postizanje rezultata brže od uobičajenog postupka. Obično u terminalu napišete osnovnu ili unaprijed naredbu bash i ona se na njoj odmah izvrši. U bash skriptama mogli ste dati više uputa ili naredbi odjednom, a računalo bi ih sve izvršilo samo kada biste izvršili skriptu. Ukratko, jedna komanda bash može se izvršiti u terminalu, ali da biste izvršili kombinaciju više naredbi odjednom, morate stvoriti bash skriptu.

Zašto je bash koristan i kome je koristan?

Ako želite veću kontrolu nad svojim OS -om i želite obavljati različite zadatke vezane uz OS, tada je bash vaš način. Bash, ne pozivamo se samo na skriptni jezik, već i na alate koji dolaze s Linux operativnim sustavom. Svaki pojedinačni alat na Linuxu ima svoj rad i svaki pojedinačno obavlja drugačiji zadatak. Bash je zaista koristan kad god trebate kombinirati sve te alate i povezati ih na takav način da svi zajedno djeluju u skladu s zadatkom koji je doista teško učiniti. Na primjer, sve što ima veze s Linux OS-om može se učiniti i na drugim programskim jezicima, poput Pythona ili Perla, ali vrlo je teško izvršiti različite zadatke vezane uz OS. Jednostavan, crno -bijeli i najlakši način da učinite bilo što što se tiče Linux OS -a je pomoću bash -a. Za svakoga tko želi izvršavati zadatke koji uključuju alate za Linux OS (kao što su ls, cd, cat, touch, grep itd.), Za njega/nju je zaista korisno naučiti bash umjesto bilo kojeg drugog programskog jezika.



Kako se Bash uspoređuje s drugim programskim jezicima?

Ako govorimo o bashu, onda znamo da bash nije programski jezik opće namjene, već tumač naredbenog retka. Bash je doista koristan za izvršavanje zadataka oko različitih alata i procesa sa sposobnošću kombiniranja različitih procesa zajedno i tjeranja svih njih da rade prema jednom cilju. Bash je doista zgodan kada se radi o rukovanju ulazima i izlazima i manipulaciji njima, što je zaista teško učiniti u drugim programskim jezicima opće namjene, poput pythona, C, itd. Međutim, što se tiče struktura podataka i složenih zadataka, npr. budući da manipulira složenim podacima, bash ne može rješavati takve zadatke i moramo gledati prema programskim jezicima kao što su Python, Perl, C itd. U programskim jezicima možete izgraditi softver ili alat, ali ne možete izgraditi niti jedan od njih u bashu. Međutim, možete koristiti bash za pokretanje alata ili spojiti te alate zajedno za učinkovito izvođenje. To je poput izgradnje rakete, ako uzmemo u obzir ovu metaforu, programski jezici će vam pomoći u izgradnji rakete, dok će vam bash pomoći da upravljate raketom i pomoći će vam da postavite njezin smjer te će vam pomoći da je spustite na Mjesec ili Mars.



Kako stvoriti i pokrenuti Bash skripte?

Da biste stvorili bash skriptu, prvo morate stvoriti tekstualnu datoteku s nastavkom .sh na kraju naziva datoteke. Pomoću terminala možete stvoriti datoteku skriptiranja bash.



$dodirskripta.sh


Nakon upisivanja gornje naredbe, pritisnite tipku enter i stvorit će se bash skriptna datoteka u vašem trenutnom radnom direktoriju. Ali to nije to, stvorili smo skriptnu datoteku, ali moramo izvršiti određene radnje kako bismo dovršili skriptu i pokrenuli je. Prije svega, otvorite skriptnu datoteku u nano uređivaču ili geditu, a u prvi redak upišite:

#!/bin/bash


Ovo je standardni prvi redak za svaku bash skriptnu datoteku koja joj pomaže da se prepozna kao bash skripta. Svaka skripta koja nema #!/Bin/bash u prvom retku ne bi se smatrala bash skriptom, stoga svakako dodajte ovu liniju na vrh svake skripte. Nakon što dodate ovaj redak, sada možete početi pisati u skriptu. Na primjer, ovdje bih napisao jednostavnu naredbu echo:

$izbacitiOvo je LinuxHint, najbolja platforma za učenjezaBash


Nakon što ste napisali ovu naredbu, sada je možete spremiti i vratiti se na svoj terminal. Napišite u svoj terminal:



$ls -prema


Možete vidjeti 'script.sh' napisano bijelom bojom što je znak da je skripta neizvršljiva datoteka jer su izvršne datoteke obično u zelenoj boji. Nadalje, pogledajte lijevu stranu gdje smo mogli vidjeti uzorak poput -rw -r – r– koji odražava da se datoteka može samo čitati i pisati.
Prvi dio koji sadrži 'rw' dopuštenja je vlasnika vjerojatno trenutnog korisnika.

Drugi dio koji sadrži 'r' dopuštenje je za grupu u kojoj imamo više korisnika.

Dok je treći dio koji sadrži 'r' dopuštenje za javnost, što znači da svatko može imati ta dopuštenja za spomenutu datoteku.

'R' označava dopuštenja za čitanje, 'w' znači dopuštenja za pisanje, 'x' znači izvršna dopuštenja. Jasno je da ne vidimo x nasuprot 'script.sh'. Za dodavanje izvršnih dopuštenja postoje dva načina za to.

Metoda 1

U ovoj metodi mogli biste napisati jednostavnu naredbu chmod s '+x' i ona bi dodala izvršna dopuštenja.

$chmod+ x skripta.sh


Međutim, ovo nije najučinkovitiji način davanja izvršnih dopuštenja jer daje izvršna dopuštenja ne samo vlasniku, već i grupi i javnosti, što iz sigurnosnih razloga zasigurno ne želimo. Pogledaj:

Metoda 2

U ovoj metodi možete koristiti brojeve za diktiranje dopuštenja datoteke. Prije nego što prijeđemo na to, želio bih vam dati kratku predstavu o tome što ti brojevi znače i kako ih možete koristiti za upravljanje dopuštenjima.
čitaj = 4
napiši = 2
izvršiti = 1
Brojevi dopuštenja bili bi tri znamenke nakon naredbe chmod, a svaka znamenka predstavlja dopuštenja vlasnika, grupe i drugih (javnih). Na primjer, dati vlasniku dopuštenja za čitanje, pisanje i izvršenje te dopuštenja za čitanje grupi i drugima bilo bi otprilike ovako:

$chmod 744skripta.sh


Kad biste mogli primijetiti, došli biste do spoznaje da smo dodali brojeve za čitanje, pisanje i izvršavanje za vlasnika u prvoj znamenki kao 4+2+1 = 7, a za grupu i ostale koristimo znamenku čitanja tj. 4.

Pokrenite Bash skriptu

Konačno smo došli do oznake na kojoj možemo pokrenuti bash skriptu. Da biste pokrenuli svoju bash skriptu, morate biti sigurni da ste u sadašnjem radnom direktoriju u kojem se nalazi vaša skripta. Nije obvezno, ali na taj je način jednostavno jer ne morate napisati cijeli put. Nakon što ste to učinili, sada napišite i upišite u svoj terminal ./nameofscript.sh. U našem slučaju, naziv skripte je 'script.sh', pa bismo napisali:

$./skripta.sh

3 jednostavna primjera bash skripte

Pozdrav LinuxHint
Prije svega, stvorili bismo bash datoteku u sadašnjem radnom direktoriju:

$nanoF_script.sh


Unutar datoteke morate napisati sljedeće:

#!/bin/bash
izbaciti 'Pozdrav LinuxHint'


Nakon što ste ga napisali, sada pokušajte pritisnuti Ctrl+O da biste napisali promjene u datoteci, a zatim ako želite zadržati ime istim pritiskom na tipku enter, u protivnom uredite naziv, a zatim pritisnite enter. Sada pritisnite Ctrl+X za izlaz iz nano uređivača. Sada biste u sadašnjem direktoriju vidjeli datoteku pod imenom F_script.sh.
Za pokretanje ove datoteke možete promijeniti njezina dopuštenja kako bi bila izvršna ili možete napisati:

$bashF_script.sh


Naredba za odjek
Kad govorimo o naredbi echo, ona se jednostavno koristi za ispisivanje gotovo svega što želite ispisati sve dok je napisano unutar navodnika. Obično, kada pokrenete naredbu echo bez zastavice, ona napušta redak i ispisuje izlaz. Na primjer, ako imamo skriptu:

#!/bin/bash
izbaciti 'Ispis u sljedećem retku'

Nakon što ga spremimo, ako ga pokrenemo:

$bashF_script.sh


Ako koristimo zastavicu '-n' s echoom, ona se ispisuje na istom retku.

#!/bin/bash
izbaciti -n 'Ispis na istom retku'

Nakon što ga spremimo, ako ga pokrenemo:

$bashF_script.sh


Slično, ako koristimo ' n' ili ' t' unutar dvostrukih navodnika, ispisalo bi se takvo kakvo jest.

#!/bin/bash
izbaciti ' nIspis na tistom linijom n'


Međutim, ako koristimo zastavicu '-e', onda sve ne samo da nestaje, već također primjenjuje n i t, a dolje možete vidjeti promjene u ispisu:

#!/bin/bash
izbaciti -I ' nIspis na tistom linijom n'


Komentari u BASH -u
Komentar je redak koji nije bitan za računalo. Sve što napišete kao komentar, računalo poništava ili zanemaruje i nema nikakvog utjecaja na pisani kod. Komentari se obično smatraju korisnijim načinom za programera da razumije logiku koda, tako da bi ga, kad se vrati na ponovnu obradu dijelova koda, ti komentari podsjetili na logiku i razloge zašto je kod napisao put. Komentari se mogu koristiti i drugim programerima koji bi htjeli promijeniti kôd. Ako ste napisali dio koda i ne želite ga ukloniti, ali želite vidjeti izlaz bez tog određenog dijela koda, tada možete komentirati taj određeni dio koda i nastaviti s izvršavanjem. Vaš će program raditi sasvim dobro, postigao bi dobre rezultate dok je taj dodatni kôd još uvijek prisutan u vašoj skripti, ali nije učinkovit zbog komentara. Kad god poželite ponovno upotrijebiti taj dio koda, odkomentirajte te retke i spremni ste.
Postoje dva načina na koje možete pisati komentare u bash; jedan način je pisanje komentara u jednom retku, dok se drugi način koristi za pisanje komentara u više redova.

Komentari u jednom retku
U komentarima u jednom retku koristimo znak '#' koji pomaže komentirati cijeli redak. Sve što je napisano na retku iza kojeg slijedi '#' smatralo bi se komentarom i ne bi imalo stvarnu vrijednost kada izvršavamo skriptu. Ovaj komentar u jednom retku može se koristiti za komunikaciju logike i razumijevanja koda nekome tko ima pristup kodu.

#!/bin/bash
izbaciti -I ' nIspis na tistom linijom n'
#Ova skripta nam pomaže u primjeni /kombinacije /n i /t



Komentari s više redaka
Recimo da želite komentirati stotinu redaka u svom scenariju. U tom bi vam slučaju bilo teško koristiti komentare u jednom retku. Ne želite gubiti vrijeme stavljajući # na svaki redak. Možemo upotrijebiti ':' pa 'bilo koji komentar'. Pomoglo bi vam da komentirate više redaka jednostavnim upisivanjem 3 simbola koji su zgodni i korisni.

#!/bin/bash ’
: 'Ovo je skripta koja osigurava
to n i t radi i primjenjuje se
unačin na koji imamo potreban izlaz '
izbaciti -I ' nIspis na tistom linijom n'



Pogledajte 30 primjera Bash skripti na Linuxhint.com:

30 Primjeri Bash skripte

6 najvažnijih lekcija iz Bash skriptiranja

1. Uvjetna izjava
Uvjetna izjava vrlo je koristan alat pri donošenju odluka. Široko se koristi u programskim jezicima. Češće moramo donositi odluke na temelju određenih uvjeta. Uvjetna izjava ocjenjuje dano stanje i donosi odluku. U bashu također koristimo uvjetni izraz kao i svaki drugi programski jezik. Sintaksa korištenja uvjetne naredbe u bash malo se razlikuje od ostalih programskih jezika. Uvjet if je najčešće korišteni uvjetni izraz u bash-u i drugim programskim jezicima opće namjene. Ako uvjet ocjenjuje dano stanje i donosi odluku. Zadani uvjet naziva se i testni izraz. Postoje brojni načini korištenja if uvjeta u bashu. Uvjet if koristi se s else blokom. U slučaju da je zadani uvjet istinit, tada se izvode naredbe unutar bloka if, u protivnom se izvršava blok else. Postoji više načina korištenja naredbe if condition u Bashu, a to su sljedeći:

  1. Izjava if
  2. Izjava if else
  3. Umetnuti izraz if
  4. Izjava if elif

Izjava if
Naredba if samo procjenjuje zadani uvjet, ako je zadani uvjet istinit, tada se izvode naredbe ili naredbe unutar bloka if, u protivnom se program prekida. U bash -u, ako uvjet počinje ključnom riječi if i završava ključnom riječi fi. Ključna riječ then koristi se za definiranje bloka naredbi ili naredbi koje se izvršavaju kada je određeni uvjet istinit. Proglasimo varijablu i upotrijebimo uvjet if za procjenu vrijednosti varijable je li veća od 10 ili nije. -Gt se koristi za procjenu uvjeta veće od, dok se -lt koristi za procjenu uvjeta manje od.

#!/bin/bash
GDJE=100
#deklariranje if uvjeta
ako [ $ VAR -gt 10 ]
zatim
izbaciti 'The$ VARje veći od 10 '
#prekidanje if uvjeta
biti


Izjava if else
Naredba if else također se koristi kao uvjetna naredba. Naredbe ili naredbe nakon if uvjeta izvršavaju se ako je zadani uvjet istinit. U suprotnom, blok else se izvršava ako zadani uvjet nije istinit. Nakon bloka else slijedi blok if i počinje ključnom riječi else.

#!/bin/bash
GDJE=7
#deklariranje if uvjeta
ako [ $ VAR -gt 10 ]
zatim
izbaciti 'The$ VARje veći od 10 '
#declaring else block
drugo
izbaciti 'The$ VARje manje od 10 '
#prekidanje if uvjeta
biti


Više uvjeta može se procijeniti pomoću uvjeta if. Možemo koristiti operator and (&) i ili operator (II) za procjenu više uvjeta unutar jedne if naredbe.

#!/bin/bash
GDJE=dvadeset
#deklariranje if uvjeta
ako [[ $ VAR -gt 10 && $ VAR -lt 100 ]]
zatim
izbaciti 'The$ VARje veći od 10 i manji od 100 '
#declaring else block
drugo
izbaciti 'Uvjet ne zadovoljava'
#prekidanje if uvjeta
biti


Umetnuti izraz if
U ugniježđenom if naredbi unutar if naredbe imamo if naredbu. Prvi if iskaz se procjenjuje, ako je istinit, onda drugi if iskaz se procjenjuje.

#!/bin/bash
GDJE=dvadeset
#deklariranje if uvjeta
ako [[ $ VAR -gt 10 ]]
zatim
#ako je stanje u drugom if consition
ako [ $ VAR -lt 100 ]
zatim
izbaciti 'The$ VARje veći od 10 i manji od 100 '
#declaring else block
drugo
izbaciti 'Uvjet ne zadovoljava'
#prekidanje if uvjeta
biti
drugo
izbaciti 'The$ VARje manje od 10 '
biti


Izjava if elif
Naredba if elif koristi se za procjenu više uvjeta. Prvi uvjet počinje blokom if, a nakon ostalih uvjeta slijedi ključna riječ elif. Razmotrimo prethodni primjer broja varijable i implementirajmo if elif izraz u našu bash skriptu. Eq se koristi kao jednaki operator.

#!/bin/bash
GDJE=dvadeset
#deklariranje if uvjeta
ako [[ $ VAR -ekv 1 ]]
zatim
izbaciti 'Vrijednost varijable jednaka je 1'
elif [[ $ VAR -ekv 2 ]]
zatim
izbaciti 'Vrijednost varijable jednaka je 2'
elif [[ $ VAR -ekv 3 ]]
zatim
izbaciti 'Vrijednost varijable jednaka je 2'
elif [[ $ VAR -gt 5 ]]
zatim
izbaciti 'Vrijednost varijable je veća od 5'
biti


2. Petlje
Petlje su bitan i temeljni dio svakog programskog jezika. Za razliku od ostalih programskih jezika, petlje se također koriste u Bash -u za ponavljanje izvođenja zadatka sve dok zadani uvjet ne bude istinit. Petlje su iterativne, odličan su alat za automatizaciju sličnih vrsta zadataka. For petlja, petlja while i do koriste se u Bash -u.
Razmotrimo ove petlje jednu po jednu.

Petlja while
Dok petlja više puta izvršava iste izraze ili naredbe. On procjenjuje stanje i izvodi naredbe ili naredbe dok uvjet ne postane istinit.
Ovo je osnovna sintaksa korištenja while petlje u Bashu.

Dok [uvjet ili testni izraz]
čini
izjave
učinjeno

Provedimo while petlju u našu datoteku script.sh. Imamo varijablu VAR čija je vrijednost jednaka nuli. U while petlji smo postavili uvjet da se petlja izvodi sve dok vrijednost VAR -a ne bude manja od 20. Vrijednost varijable se povećava za 1 nakon svake iteracije. Dakle, u ovom slučaju, petlja će se početi izvršavati sve dok vrijednost varijable nije manja od 20.

#!/bin/bash
GDJE=0
dok [ $ VAR -lt dvadeset ]
čini
izbaciti 'Trenutna vrijednost varijable je$ VAR'
#povećanje vrijednosti za 1 u VAR -u
GDJE= $((VAR +1))
učinjeno


For petlja
For petlja je najčešće korištena petlja u svakom programskom jeziku. Koristi se za izvršavanje iterativnog zadatka. To je najbolji način za izvršavanje zadataka koji se ponavljaju. Proglasimo for petlju u našoj datoteci script.sh i upotrijebimo je za izvršavanje ponavljajućeg zadatka.

#!/bin/bash
GDJE=0
za (( i==0; i<dvadeset; ja ++))
čini
izbaciti 'Pozdrav i dobrodošli u linuxhint'
#povećanje varijable i
i= $((i+1))
učinjeno
izbaciti 'Ovo je kraj for petlje'


Petlja do
Druga vrsta petlje koja se koristi u Bashu je petlja do. Također ponavlja ili izvodi isti skup više puta. Petlja while procjenjuje stanje i započinje izvršavanje sve dok zadani uvjet nije lažan. Petlja before završava kada je zadani uvjet istinit. Sintaksa do petlje je sljedeća:

do [stanje]
čini
izjave
naredbe
učinjeno

Implementirajmo loop u našu datoteku script.sh. Petlja till će se izvoditi ako uvjet nije lažan (Vrijednost varijable je manja od 20)

#!/bin/bash
GDJE=0
do [ $ VAR -gt dvadeset ]
čini
izbaciti 'Pozdrav i dobrodošli u linuxhint'
#povećanje varijable i
GDJE= $((VAR +1))
učinjeno
izbaciti 'Ovo je kraj do petlje'


3. Čitanje od korisnika i pisanje na zaslonu
Bash daje slobodu korisniku da unese neku vrijednost niza ili podatke na terminalu. Korisnički uneseni niz ili podaci mogu se očitati s terminala, mogu se pohraniti u datoteku i ispisati na terminalu. U datoteci Bash unos korisnika može se pročitati pomoću čitati ključnu riječ i spremamo je u varijablu. Promjenjivi sadržaj može se prikazati na terminalu pomoću naredbe echo.

#!/bin/bash
izbaciti 'Napišite nešto na terminalu'
#skladištenje unesene vrijednosti u VAR
čitatiGDJE
izbaciti 'Ušli ste:$ VAR'


S naredbom read može se koristiti više opcija. Najčešće korištene opcije su -p i -s. -P prikazuje upit i unos se može unijeti u isti redak. Znak –s uzima ulaz u tihom načinu rada. Znakovi unosa prikazani su na terminalu. Korisno je unijeti neke osjetljive podatke, npr. Lozinke.

#!/bin/bash
čitati -str 'Unesite email:'e -mail
izbaciti 'Upišite lozinku'
čitati -slozinka


4. Čitanje i pisanje tekstualnih datoteka
Tekstualne datoteke bitne su komponente za čitanje i pisanje podataka. Podaci se privremeno pohranjuju u tekstualne datoteke i mogu se lako pročitati iz tekstualne datoteke. Prvo, razgovarajmo o upisivanju podataka u tekstualnu datoteku, a nakon toga ćemo razgovarati o čitanju podataka iz tekstualnih datoteka.

Pisanje tekstualnih datoteka
Podaci se mogu zapisati u datoteku na različite načine:

  • Korištenjem zagrade pod pravim kutom ili znakom većim od (>)
  • Pomoću dvostruke pravokutne zagrade (>>)
  • Pomoću naredbe tee

Desni znak anđela (>) za pisanje podataka
to je najčešće korišteni način upisivanja podataka u tekstualnu datoteku. Zapisujemo podatke, a zatim stavljamo znak>. Znak> upućuje na tekstualnu datoteku u koju moramo pohraniti podatke. Međutim, ne dodaje datoteku, a prethodni podaci datoteke u potpunosti su zamijenjeni novim podacima.

#!/bin/bash
#user unosi naziv tekstualne datoteke
čitati -str 'Unesite naziv datoteke:'DATOTEKA
#user unosi podatke za pohranu u tekstualnu datoteku
čitati -str 'Zapišite podatke za unos u datoteku:'PODACI
#pohranjivanje podataka u tekstualnu datoteku
#> pokazuje na naziv datoteke.
izbaciti $ PODACI > $ FILE


Desni znak anđela (>>) za pisanje podataka
>> se koristi za spremanje rezultata bilo koje naredbe u datoteku. Na primjer, naredba ls -al prikazuje sadržaj i dopuštenja datoteke u određenom direktoriju. >> će pohraniti izlaz u datoteku.

#!/bin/bash
#user unosi naziv tekstualne datoteke
čitati -str 'Unesite naziv datoteke:'DATOTEKA
#pohranjivanje naredbenog izlaza u datoteku
ls -prema >> $ FILE



Korištenje naredbe tee za upisivanje podataka u tekstualnu datoteku
Naredba tee u bashu koristi se za ispis rezultata naredbe u tekstualnu datoteku. Ispisuje izlaz naredbe na terminalu i pohranjuje ga u tekstualnu datoteku.

#!/bin/bash
#user unosi naziv tekstualne datoteke
čitati -str 'Unesite naziv datoteke:'DATOTEKA
#pohranjivanje naredbenog izlaza u datoteku pomoću naredbe tee
ls -prema | tee $ FILE


Naredba tee prema zadanim postavkama prepisuje postojeće podatke datoteke. Međutim, -a opcija s naredbom tee može se koristiti za dodavanje datoteke.

#!/bin/bash
#user unosi naziv tekstualne datoteke
čitati -str 'Unesite naziv datoteke:'DATOTEKA
#pohranjivanje naredbenog izlaza u datoteku pomoću naredbe tee
ls -prema | tee -do $ FILE


Čitanje tekstualnih datoteka
The mačka naredba se koristi za čitanje podataka iz datoteke. Najčešće se koristi u tu svrhu. Jednostavno ispisuje sadržaj tekstualne datoteke na terminalu. Ispisujmo sadržaj ili podatke datoteke na terminalu pomoću mačka naredba.

#!/bin/bash
#user unosi naziv tekstualne datoteke
čitati -str 'Unesite naziv datoteke:'DATOTEKA
#čitavanje podataka iz tekstualne datoteke
mačka $ FILE


5. Pokretanje drugih programa iz basha
Bash daje ovlaštenje za pokretanje drugih programa iz Bash skripte. Za pokretanje ostalih programa iz Basha koristimo naredbu exec. Naredba exec zamjenjuje prethodni proces s trenutnim procesom i pokreće trenutni program. Na primjer, možemo otvoriti nano, gedit ili vim editor iz bash skripte.

#!/bin/bash
#pokretanje nano uređivača iz Basha
exec nano

#!/bin/bash
#pokretanje gedita iz Basha
execgedit

Slično, aplikaciju preglednika možemo pokrenuti i iz Basha. Pokrenimo preglednik Mozilla Firefox.

#!/bin/bash
#pokretanje firefoxa
execfirefox


Štoviše, možemo pokrenuti bilo koji program iz Basha pomoću naredbe exec.

6. Obrada naredbenog retka
Obrada naredbenog retka odnosi se na obradu podataka unetih na terminalu. Podaci naredbenog retka obrađuju se u mnoge svrhe, npr. Čitanje unosa korisnika, podcjenjivanje naredbi i čitanje argumenata. Ranije smo razgovarali o naredbi za čitanje. Naredba read također se koristi za obradu u naredbenom retku. U ovom odjeljku raspravljat ćemo o obradi argumenata naredbenog retka. U Bashu možemo obraditi argumente koji su proslijeđeni ili zapisani na terminalu. Argumenti se obrađuju na isti način na koji su proslijeđeni. Stoga se naziva pozicijskim parametrima. Za razliku od drugih programskih jezika, indeksiranje argumenata u Bashu počinje s 1. Znak Dollar ($) koristi se za čitanje argumenata. Na primjer, $ 1 čita prvi argument, $ 2 čita drugi argument itd. Argumenti se mogu raščlaniti iz različitih razloga, primjerice zbog uzimanja unosa od korisnika.

#!/bin/bash
izbaciti 'Unesite svoje ime'
#obrada prvog argumenta
izbaciti 'Ime:' 1 USD
#obrada drugog argumenta
izbaciti 'Srednje ime:'2 USD
#obrada trećeg argumenta
izbaciti 'Prezime:' 3 USD
izbaciti 'Puno ime:' 1 USD 2 USD 3 USD


Čitanje podataka s terminala pomoću read i raščlanjivanje argumenata najprikladniji su primjeri obrade naredbenog retka.

Povijest Basha i usporedba s drugim školjkama

Bash je sada bitna komponenta UNIX i Linux sustava. Bourne Shell je u početku razvio Stephen Bourne. Namjeravana školjka Stephena Bournea bila je prevladavanje ograničenja već postojećih ljuštura u to vrijeme. Prije Bourne Shell -a, UNIX je predstavio Thompson Shell. Međutim, Thompsonova ljuska bila je vrlo ograničena u obradi skripte. Korisnici nisu mogli pokrenuti dovoljnu količinu skripte. Kako bi se prevladala sva ta ograničenja Thompsonove ljuske, predstavljena je Bourneova ljuska. Razvijen je u laboratoriju Bells. Godine 1989. Brian Fox je revolucionirao školjku Bourne dodajući brojne druge značajke i nazvao je Bourne Again Shell (BASH).

Naziv ljuske Godina Platforma Opis Usporedba s BASH -om
Thompson Shell 1971. godine UNIX Automatizacija skripte bila je ograničena. Korisnik može napraviti samo malu količinu skriptiranja. BASH nadilazi ograničenja Thompsonove ljuske i korisnik može pisati velike skripte.
Bourne Shell 1977. godine UNIX Omogućuje nam pisanje i pokretanje ogromne količine skripti. Bourne Shell ne nudi uređivač naredbi i veći broj mogućnosti prečaca. BASH pruža poboljšanja u dizajnu zajedno s uređivačem naredbi.
POSIX ljuska 1992. godine POSIX POSIX ljuska je prijenosna. Pruža mnoge prečace i kontrolu posla. BASH je popularan za obavljanje poslova koji ne zahtijevaju prijenos.
Z Shell 1990. godine UNIX Z Shell je bogat značajkama. To je vrlo moćna ljuska i pruža značajke kao što su automatsko dovršavanje naredbi, ispravljanje pravopisa i automatsko popunjavanje. BASH -u nedostaju neke značajke koje pruža Z Shell.

Zaključak

BASH je vrlo moćan alat koji nam omogućuje pokretanje naredbi i skripti. BASH skripta omogućuje nam automatiziranje dnevnih zadataka i naredbi. BASH skripta je kombinacija više naredbi. BASH datoteka završava nastavkom .sh. Prije izvođenja BASH skripte moramo ažurirati dopuštenja za datoteku i moramo dati izvršnu dozvolu za .sh datoteku. Ovaj članak objašnjava skripte BASH i BASH uz pomoć jednostavnih primjera i važnih lekcija. Štoviše, opisuje povijest BASH -a i uspoređuje njegove značajke s raznim drugim moćnim školjkama.