Kas yra „Bash“ scenarijus?

What Is Bash Script



Ar kada girdėjote, kaip tėvas liepia paimti stiklinę vandens? Jūs turite galimybę pasakyti „Ne“, tačiau kompiuteriai neturi tokio pasirinkimo. Kompiuteriai darys tiksliai tai, ką jūs jiems lieptumėte. „Bash“ yra tik apvalkalas, leidžiantis bendrauti su kompiuteriu ir duoti jam nurodymus. Scenarijus iš esmės yra tik instrukcijų rinkinys, duodamas kompiuteriui atlikti įvairias prasmingas užduotis. Scenarijus padeda automatizuoti įvairias užduotis ir prabangą, kad rezultatai būtų pasiekti greičiau nei įprasta procedūra. Paprastai terminale parašote pagrindinę arba išankstinę „bash“ komandą ir ji iš karto ją vykdo. „Bash“ scenarijuose galite duoti kelias instrukcijas ar komandas vienu metu, o kompiuteris visas jas vykdys tik tada, kai vykdysite scenarijų. Trumpai tariant, vieną bash komandą galima vykdyti terminale, tačiau norėdami vienu metu vykdyti kelių komandų derinį, turite sukurti „bash“ scenarijų.

Kodėl „bash“ yra naudingas ir kam jis naudingas?

Jei norite labiau valdyti savo OS ir norite atlikti įvairias su OS susijusias užduotis, tada jūsų kelias yra „bash“. Kalbant apie bash, mes kalbame ne tik apie scenarijų kalbą, bet ir su „Linux“ operacine sistema pateikiamus įrankius. Kiekvienas „Linux“ įrankis turi savo darbą ir kiekvienas atskirai atlieka skirtingas užduotis. „Bash“ yra tikrai naudingas, kai reikia sujungti visas šias priemones ir susieti jas taip, kad jos veiktų harmoningai, kad atliktų užduotį, kurią iš tikrųjų sunku padaryti. Pavyzdžiui, viskas, kas susiję su „Linux“ OS, taip pat gali būti padaryta kitomis programavimo kalbomis, tokiomis kaip „Python“ ar „Perl“, tačiau labai sunku atlikti įvairias su OS susijusias užduotis. Paprastas, nespalvotas ir lengviausias būdas padaryti viską, kas susiję su „Linux“ OS, yra naudojant „bash“. Visiems, kurie nori atlikti užduotis, apimančias „Linux“ OS įrankius (pvz., Ls, cd, cat, touch, grep ir kt.), Jam tikrai naudinga išmokti bash, o ne bet kurią kitą programavimo kalbą.







Kaip „Bash“ palyginamas su kitomis programavimo kalbomis?

Jei kalbame apie „bash“, žinome, kad „bash“ nėra bendrosios paskirties programavimo kalba, o komandų eilutės vertėjas. „Bash“ yra tikrai naudingas atliekant užduotis, susijusias su skirtingais įrankiais ir procesais, sugebant derinti skirtingus procesus ir priversti juos visus siekti vieno tikslo. „Bash“ yra tikrai patogu, kai reikia tvarkyti ir valdyti įvestis ir išvestis, o tai tikrai sunku padaryti kitomis bendrosios paskirties programavimo kalbomis, tokiomis kaip „python“, „C“ ir kt. Tačiau kalbant apie duomenų struktūras ir sudėtingas užduotis, tokias kaip manipuliuodamas sudėtingais duomenimis, „bash“ negali susidoroti su tokiomis užduotimis, todėl turime ieškoti programavimo kalbų, tokių kaip „Python“, „Perl“, „C“ ir tt Programavimo kalbomis galite sukurti programinę įrangą ar įrankį, bet negalite sukurti nė vienos iš jų „bash“. Tačiau galite naudoti „bash“, kad paleistumėte įrankius, arba sujungti šiuos įrankius, kad jie veiktų efektyviai. Tai panašu į raketos kūrimą, jei atsižvelgsime į šią metaforą, programavimo kalbos padės jums sukurti raketą, o „bash“ padės vairuoti raketą ir padės nustatyti jos kryptį bei padės nusileisti į mėnulį ar Marsą.



Kaip sukurti ir paleisti „Bash“ scenarijus?

Norėdami sukurti „bash“ scenarijų, pirmiausia turite sukurti teksto failą su plėtiniu .sh failo pavadinimo pabaigoje. Naudodami terminalą galite sukurti „bash“ scenarijaus failą.



$liestiscenarijus.sh


Įvedę aukščiau pateiktą komandą, paspauskite įvesties klavišą ir dabartiniame darbo kataloge turėsite sukurti „bash“ scenarijaus failą. Bet tai ne viskas, mes sukūrėme scenarijaus failą, tačiau turime atlikti tam tikrus veiksmus, kad užbaigtume scenarijų ir jį paleistume. Pirmiausia atidarykite scenarijų failą „nano“ redaktoriuje arba „gedit“ ir pačioje pirmoje eilutėje įveskite:





#!/bin/bash


Tai yra standartinė pirmoji kiekvieno „bash“ scenarijaus failo eilutė, padedanti jį atpažinti kaip „bash“ scenarijų. Bet koks scenarijus, kurio pirmoje eilutėje nėra #!/Bin/bash, nebūtų laikomas „bash“ scenarijumi, todėl būtinai pridėkite šią eilutę kiekvieno scenarijaus viršuje. Kai pridėsite šią eilutę, dabar galite pradėti rašyti į scenarijų. Pavyzdžiui, čia parašyčiau paprastą aido komandą:

$išmetėTai „LinuxHint“, geriausia mokymosi platformadėlBash


Kai parašėte šią komandą, dabar galite išsaugoti ją ir grįžti į savo terminalą. Į savo terminalą įrašykite:



$ls


Galite matyti „script.sh“, parašytą balta spalva, o tai yra ženklas, kad scenarijus yra nevykdomas failas, nes vykdomieji failai dažniausiai būna žalios spalvos. Be to, pažvelkite į kairę pusę, kur galėjome pamatyti tokį modelį kaip -rw -r – r–, kuris atspindi, kad failas yra tik skaitomas ir rašomas.
Pirmoji dalis, kurioje yra „rw“, yra savininko, tikriausiai dabartinio vartotojo, teisės.

Antroji dalis, kurioje yra „r“, yra grupės, kurioje turime kelis vartotojus, leidimas.

Nors trečioji dalis, kurioje yra „r“, yra leidimas visuomenei, o tai reiškia, kad kiekvienas gali turėti šiuos leidimus minėtam failui.

„R“ reiškia skaitymo teises, „w“ - rašymo teises, „x“ - vykdomuosius leidimus. Akivaizdu, kad nematome x prieš „script.sh“. Norėdami pridėti vykdomuosius leidimus, galite tai padaryti dviem būdais.

1 metodas

Taikydami šį metodą, galite parašyti paprastą chmod komandą su „+x“ ir ji pridėtų vykdomuosius leidimus.

$chmod+ x scenarijus.sh


Tačiau tai nėra pats efektyviausias būdas suteikti vykdomuosius leidimus, nes jis suteikia vykdomuosius leidimus ne tik savininkui, bet ir grupei bei visuomenei, ko mes tikrai nenorime dėl saugumo. Pažiūrėk:

2 metodas

Taikydami šį metodą, galite naudoti skaičius, kad padiktuotumėte failo leidimus. Prieš pradėdami tai daryti, norėčiau jums trumpai suprasti, ką šie skaičiai reiškia ir kaip galite juos naudoti manipuliuodami leidimais.
skaityti = 4
rašyti = 2
vykdyti = 1
Leidimų numeriai būtų sudaryti iš trijų skaitmenų po komandos chmod ir kiekvienas skaitmuo reiškia savininko, grupės ir kitų (viešų) leidimus. Pavyzdžiui, suteikti skaitymo, rašymo ir vykdymo leidimus savininkui ir skaitymo leidimus grupei ir kitiems būtų maždaug taip:

$chmod 744scenarijus.sh


Jei pastebėtumėte, suprastumėte, kad pirmame skaitmenyje savininkui pridėjome skaitymo, rašymo ir vykdymo skaičių kaip 4+2+1 = 7, o grupei ir kitiems mes naudojame skaitymo skaitmenį ty 4.

Paleiskite „Bash Script“

Dabar pagaliau pasiekėme ženklą, kuriame galime paleisti „bash“ scenarijų. Norėdami paleisti „bash“ scenarijų, turite įsitikinti, kad esate dabartiniame darbo kataloge, kuriame yra jūsų scenarijus. Tai nėra privaloma, tačiau taip lengva, nes nereikia rašyti viso kelio. Kai tai padarysite, dabar eikite į priekį ir parašykite savo terminale ./nameofscript.sh. Mūsų atveju scenarijaus pavadinimas yra „script.sh“, todėl rašytume:

$./scenarijus.sh

3 paprasti „Bash Script“ pavyzdžiai

Sveiki, Linux patarimas
Visų pirma, dabartiniame darbo kataloge sukurtume „bash“ failą:

$nanoF_script.sh


Failo viduje turite parašyti:

#!/bin/bash
išmetė „Sveiki Linux patarimas“


Kai parašysite, dabar pabandykite paspausti „Ctrl“+O, kad parašytumėte failo pakeitimus, tada, jei norite išsaugoti pavadinimą tuo pačiu paspauskite „Enter“, kitaip redaguokite pavadinimą ir paspauskite „Enter“. Dabar paspauskite Ctrl+X, kad išeitumėte iš nano redaktoriaus. Dabar dabartiniame kataloge pamatytumėte failą pavadinimu F_script.sh.
Norėdami paleisti šį failą, galite pakeisti jo leidimus, kad jis būtų vykdomas, arba galite parašyti:

$muštiF_script.sh


Echo komanda
Kai kalbame apie komandą „echo“, ji paprasčiausiai naudojama beveik viskam, ką norite išspausdinti, išspausdinti, jei tai parašyta kabutėse. Paprastai, kai vykdote echo komandą be jokios vėliavos, ji palieka eilutę ir išspausdina išvestį. Pavyzdžiui, jei turime scenarijų:

#!/bin/bash
išmetė „Spausdinti kitoje eilutėje“

Po išsaugojimo, jei jį paleisime:

$muštiF_script.sh


Jei su aidu naudojame vėliavą „-n“, ji spausdinama toje pačioje eilutėje.

#!/bin/bash
išmetė -n „Spausdinti toje pačioje eilutėje“

Po išsaugojimo, jei jį paleisime:

$muštiF_script.sh


Panašiai, jei dvigubose kabutėse naudojame „ n“ arba „ t“, jis spausdinamas toks, koks yra.

#!/bin/bash
išmetė ' nSpausdinti tta pati linija n'


Tačiau, jei naudosime vėliavą „-e“, visa tai ne tik išnyks, bet ir n bei t, o toliau matysite išvesties pokyčius:

#!/bin/bash
išmetė -Ir ' nSpausdinti tta pati linija n'


Komentarai BASH
Komentaras yra eilutė, nesvarbu kompiuteriui. Kad ir ką rašytumėte kaip komentarą, kompiuteris panaikina arba ignoruoja ir neturi jokios įtakos parašytam kodui. Komentarai paprastai laikomi naudingesniu būdu programuotojui suprasti kodo logiką, kad, grįžus prie kodo kūrinių perdarymo, šie komentarai galėtų jam priminti logiką ir priežastis, kodėl jis parašė kodą konkrečiame būdu. Komentarus taip pat gali naudoti kiti programuotojai, kurie gali norėti pakeisti kodą. Jei parašėte kodo fragmentą ir nenorite jo pašalinti, bet norite matyti išvestį be to konkretaus kodo gabalo, tuomet galite pakomentuoti tą konkretų kodą ir tęsti. Jūsų programa veiks puikiai, gautumėte gerų rezultatų, kol šis papildomas kodas vis dar yra jūsų scenarijuje, tačiau jis neveiksmingas dėl komentarų. Kai norite vėl naudoti tą kodą, eikite į priekį ir nekomentuokite šių eilučių, ir jūs galite eiti.
Yra du būdai, kaip rašyti komentarus bash kalba; vienas būdas yra rašyti vienos eilutės komentarus, o kitas būdas-kelių eilučių komentarus.

Vienos eilutės komentarai
Vienos eilutės komentaruose naudojame „#“ ženklą, kuris padeda komentuoti visą eilutę. Viskas, kas parašyta eilutėje, po kurios eina „#“, bus laikoma komentaru ir neturės realios vertės vykdant scenarijų. Šis vienos eilutės komentaras gali būti naudojamas perduoti kodo logiką ir supratimą asmeniui, turinčiam prieigą prie kodo.

#!/bin/bash
išmetė -Ir ' nSpausdinti tta pati linija n'
#Šis scenarijus padeda mums pritaikyti /derinį /n ir /t



Kelių eilučių komentarai
Tarkime, norite savo scenarijuje pakomentuoti šimtą eilučių. Tokiu atveju jums bus sunku naudoti vienos eilutės komentarus. Jūs nenorite gaišti savo laiko kiekvienai eilutei rašydami #. Mes galime naudoti „:“ ir tada „bet kokius komentarus“. Tai padėtų jums komentuoti kelias eilutes tiesiog įvedus 3 simbolius, kurie yra patogūs ir naudingi.

#!/bin/bash “
: „Tai scenarijus, kuris užtikrina
n ir t veikia ir pritaikomas
įtaip mes turime reikiamą produkciją “
išmetė -Ir ' nSpausdinti tta pati linija n'



Pažvelkite į 30 „Bash“ scenarijų pavyzdžių „Linuxhint.com“:

30 „Bash Script“ pavyzdžių

6 svarbiausios „Bash Scripting“ pamokos

1. Sąlyginis teiginys
Sąlyginis teiginys yra labai naudinga priemonė priimant sprendimus. Jis plačiai naudojamas programavimo kalbose. Dažniau turime priimti sprendimus remdamiesi tam tikromis sąlygomis. Sąlyginis teiginys įvertina nurodytą sąlygą ir priima sprendimą. „Bash“ taip pat naudojame sąlyginį teiginį, kaip ir bet kuri kita programavimo kalba. Sąlyginio sakinio naudojimo sintaksė bash šiek tiek skiriasi nuo kitų programavimo kalbų. Sąlyga if yra dažniausiai naudojamas sąlyginis teiginys bash ir kitose bendrosios paskirties programavimo kalbose. Jei sąlyga įvertina nurodytą sąlygą ir priima sprendimą. Ši sąlyga dar vadinama bandomąja išraiška. Yra daug būdų, kaip naudoti „if“ sąlygą „bash“. Jei sąlyga naudojama su kitu bloku. Tuo atveju, jei duota sąlyga yra teisinga, tada sakinio viduje esantys sakiniai yra vykdomi, priešingu atveju vykdomas kitas blokas. Yra keli „Bash“ teiginio „if“ naudojimo būdai:

  1. Jei teiginys
  2. Jei kitaip pareiškimas
  3. Įterptas if teiginys
  4. If elif teiginys

Jei teiginys
Jei sakinys įvertina tik nurodytą sąlygą, jei duota sąlyga yra teisinga, tada sakiniai ar komandos, esančios if bloko viduje, vykdomi, priešingu atveju programa nutraukiama. Bash, jei sąlyga prasideda raktažodžiu if ir baigiasi raktažodžiu fi. Tada raktinis žodis naudojamas apibrėžti teiginių ar komandų bloką, kuris vykdomas, kai tam tikra sąlyga yra teisinga. Deklaruokime kintamąjį ir naudokime sąlygą „if“, kad įvertintume kintamojo vertę, ar ji didesnė nei 10, ar ne. -Gt naudojamas norint įvertinti didesnę nei sąlyga, tuo tarpu -lt naudojamas įvertinti mažiau nei sąlyga.

#!/bin/bash
KUR=100
#deklaruojant būseną if
jei [ $ VAR -gt 10 ]
tada
išmetė 'The$ VARyra didesnis nei 10 '
#baigiasi, jei sąlyga
būti


Jei kitaip pareiškimas
„If else“ teiginys taip pat naudojamas kaip sąlyginis teiginys. Teiginiai ar komandos po sąlygos „if“, jei nurodyta sąlyga yra teisinga. Priešingu atveju blokas else vykdomas, jei nurodyta sąlyga nėra teisinga. Po kito bloko seka „if“ blokas ir prasideda raktažodžiu „else“.

#!/bin/bash
KUR=7
#deklaruojant būseną if
jei [ $ VAR -gt 10 ]
tada
išmetė 'The$ VARyra didesnis nei 10 '
#deklaruojantis kitas blokas
Kitas
išmetė 'The$ VARyra mažesnis nei 10 '
#baigiasi, jei sąlyga
būti


Naudojant „if“ sąlygą galima įvertinti kelias sąlygas. Mes galime naudoti ir operatorių (ir) ir (arba) operatorių (II), kad įvertintume kelias sąlygas viename teiginyje.

#!/bin/bash
KUR=dvidešimt
#deklaruojant būseną if
jei [[ $ VAR -gt 10 && $ VAR -lt 100 ]]
tada
išmetė 'The$ VARyra didesnis nei 10 ir mažesnis nei 100 '
#deklaruojantis kitas blokas
Kitas
išmetė „Sąlyga netenkina“
#baigiasi, jei sąlyga
būti


Įterptas if teiginys
Įdėtame „if“ sakinyje if yra teiginio if viduje. Pirmasis, jei teiginys vertinamas, jei jis teisingas, tada kitas, jei teiginys įvertinamas.

#!/bin/bash
KUR=dvidešimt
#deklaruojant būseną if
jei [[ $ VAR -gt 10 ]]
tada
#jei būklė yra kitoje, jei sutinkate
jei [ $ VAR -lt 100 ]
tada
išmetė 'The$ VARyra didesnis nei 10 ir mažesnis nei 100 '
#deklaruojantis kitas blokas
Kitas
išmetė „Sąlyga netenkina“
#baigiasi, jei sąlyga
būti
Kitas
išmetė 'The$ VARyra mažesnis nei 10 '
būti


If elif teiginys
If elif teiginys naudojamas kelioms sąlygoms įvertinti. Pirmoji sąlyga prasideda nuo bloko „if“, o po kitų - raktinis žodis elif. Apsvarstykime ankstesnį kintamojo skaičiaus pavyzdį ir įgyvendinkime „if elif“ teiginį mūsų „bash“ scenarijuje. „Eq“ naudojamas kaip lygus operatorius.

#!/bin/bash
KUR=dvidešimt
#deklaruojant būseną if
jei [[ $ VAR -ekv 1 ]]
tada
išmetė „Kintamojo vertė yra lygi 1“
elifas [[ $ VAR -ekv 2 ]]
tada
išmetė „Kintamojo vertė yra lygi 2“
elifas [[ $ VAR -ekv 3 ]]
tada
išmetė „Kintamojo vertė yra lygi 2“
elifas [[ $ VAR -gt 5 ]]
tada
išmetė „Kintamojo vertė yra didesnė nei 5“
būti


2. Kilpos
Ciklai yra esminė ir pagrindinė bet kurios programavimo kalbos dalis. Skirtingai nuo kitų programavimo kalbų, kilpos taip pat naudojamos „Bash“, kad pakartotinai atliktų užduotį, kol bus įvykdyta nurodyta sąlyga. Kilpos yra kartotinės, jos yra puikus įrankis automatizuoti panašaus tipo užduotis. Ciklas „for“, „loop“ ir „loop“ naudojamas „Bash“.
Aptarkime šias kilpas po vieną.

Nors kilpa
Nors ciklas pakartotinai vykdo tuos pačius teiginius ar komandas. Jis įvertina būklę ir paleidžia teiginius ar komandas, kol sąlyga yra teisinga.
Tai yra pagrindinė „while“ ciklo naudojimo sintaksė „Bash“.

Nors [sąlyga arba bandymo išraiška]
daryti
pareiškimus
padaryta

Įdiekime „loop“ ciklą savo faile „script.sh“. Turime kintamąjį VAR, kurio vertė lygi nuliui. Tuo tarpu cikle mes nustatėme sąlygą, kad kilpa turėtų veikti tol, kol VAR reikšmė bus mažesnė nei 20. Kintamoji vertė po kiekvienos iteracijos padidinama 1. Taigi, šiuo atveju ciklas pradės veikti tol, kol kintamojo vertė bus mažesnė nei 20.

#!/bin/bash
KUR=0
tuo tarpu [ $ VAR -lt dvidešimt ]
daryti
išmetė „Dabartinė kintamojo vertė yra$ VAR'
#VAR vertės padidinimas 1
KUR= $((VAR +1))
padaryta


Dėl kilpos
For ciklas yra dažniausiai naudojama kilpa visose programavimo kalbose. Jis naudojamas pakartotinei užduočiai atlikti. Tai geriausias būdas atlikti pasikartojančias užduotis. Paskelbkime for for mūsų script.sh faile ir panaudokime jį pasikartojančiai užduočiai atlikti.

#!/bin/bash
KUR=0
dėl (( i==0; i<dvidešimt; aš ++))
daryti
išmetė 'Sveiki ir sveiki atvykę į linuxhint'
#koreguojant kintamąjį i
i= $((aš+1))
padaryta
išmetė „Tai ciklo pabaiga“


Ciklas iki
Kitas „Bash“ naudojamas kilpų tipas yra iki ciklo. Jis taip pat pakartotinai atlieka arba vykdo tą patį rinkinį. Ciklas iki įvertina sąlygą ir pradeda vykdyti, kol nurodyta sąlyga yra klaidinga. Ciklas iki baigiasi, kai nurodyta sąlyga yra teisinga. Ciklo iki sintaksė yra tokia:

iki [sąlyga]
daryti
pareiškimus
komandas
padaryta

Įdiekime „script.sh“ failo ciklą iki. Ciklas iki bus paleistas, nebent sąlyga yra klaidinga (kintamojo vertė yra mažesnė nei 20)

#!/bin/bash
KUR=0
iki [ $ VAR -gt dvidešimt ]
daryti
išmetė 'Sveiki ir sveiki atvykę į linuxhint'
#koreguojant kintamąjį i
KUR= $((VAR +1))
padaryta
išmetė „Tai ciklo pabaiga“


3. Skaitymas iš vartotojo ir rašymas ekrane
„Bash“ suteikia vartotojui laisvę terminale įvesti tam tikrą eilutės reikšmę ar duomenis. Vartotojo įvestą eilutę ar duomenis galima perskaityti iš terminalo, juos galima išsaugoti faile ir išspausdinti terminale. „Bash“ faile vartotojo įvestį galima perskaityti naudojant skaityti raktinį žodį ir išsaugome jį kintamajame. Kintamą turinį galima parodyti terminale naudojant komandą echo.

#!/bin/bash
išmetė „Ką nors parašyti terminale“
#įrašytos vertės išsaugojimas VAR
skaitytiKUR
išmetė 'Jūs įėjote:$ VAR'


Su skaitymo komanda galima naudoti kelias parinktis. Dažniausiai naudojamos parinktys yra -p ir -s. -P rodo raginimą ir įvestį galima perimti toje pačioje eilutėje. -S priima įvestį tyliu režimu. Įvesties simboliai rodomi terminale. Naudinga įvesti tam tikrą slaptą informaciją, ty slaptažodžius.

#!/bin/bash
skaityti -p „Įveskite el. Pašto adresą:“paštą
išmetė 'Įvesti slaptažodį'
skaityti -sSlaptažodis


4. Teksto failų skaitymas ir rašymas
Teksto failai yra esminis duomenų skaitymo ir rašymo komponentas. Duomenys laikinai saugomi teksto rinkmenose ir juos galima lengvai perskaityti iš teksto failo. Pirmiausia aptarkime duomenų įrašymą į tekstinį failą, o po to - duomenų skaitymą iš teksto failų.

Teksto failų rašymas
Duomenis į failą galima įrašyti įvairiais būdais:

  • Naudojant stačiakampį skliaustelį arba didesnį nei ženklas (>)
  • Naudojant dvigubą stačiakampį laikiklį (>>)
  • Naudojant komandą tee

Dešinysis angelo laikiklio ženklas (>) duomenims rašyti
tai dažniausiai naudojamas būdas įrašyti duomenis į tekstinį failą. Mes rašome duomenis ir tada dedame> ženklą. Ženklas> nurodo tekstinį failą, kuriame turime saugoti duomenis. Tačiau jis neprideda failo ir ankstesni failo duomenys visiškai pakeičiami naujais duomenimis.

#!/bin/bash
#vartotojas įveda teksto failo pavadinimą
skaityti -p 'Įveskite failo pavadinimą:'FILE
#vartotojas įveda duomenis, kuriuos reikia išsaugoti teksto faile
skaityti -p 'Rašykite duomenis, kuriuos norite įvesti į failą:'DUOMENYS
#duomenų saugojimas teksto faile
#> nurodo failo pavadinimą.
išmetė $ DATA > $ FILE


Dešinysis angelo laikiklio ženklas (>>) duomenims rašyti
>> naudojamas bet kurios komandos išvesties išsaugojimui faile. Pavyzdžiui, komanda ls -al rodo failo turinį ir leidimus tam tikrame kataloge. >> išsaugos išvestį į failą.

#!/bin/bash
#vartotojas įveda teksto failo pavadinimą
skaityti -p 'Įveskite failo pavadinimą:'FILE
#komandos išvesties išsaugojimas faile
ls >> $ FILE



Komandos tee naudojimas duomenims įrašyti į teksto failą
„Bash“ komanda tee naudojama komandai išvesti į tekstinį failą. Jis išspausdina komandos išvestį terminale ir išsaugo ją teksto faile.

#!/bin/bash
#vartotojas įveda teksto failo pavadinimą
skaityti -p 'Įveskite failo pavadinimą:'FILE
#komandos išvesties išsaugojimas faile naudojant komandą tee
ls | tee $ FILE


Komanda tee pagal numatytuosius nustatymus perrašo esamus failo duomenis. Tačiau failui pridėti galima naudoti parinktį su komanda tee.

#!/bin/bash
#vartotojas įveda teksto failo pavadinimą
skaityti -p 'Įveskite failo pavadinimą:'FILE
#komandos išvesties išsaugojimas faile naudojant komandą tee
ls | tee $ FILE


Teksto failų skaitymas
The katė komanda naudojama duomenims iš failo skaityti. Jis dažniausiai naudojamas šiam tikslui. Tai tiesiog išspausdina teksto failo turinį terminale. Spausdinkime failo turinį ar duomenis terminale naudodami katė komandą.

#!/bin/bash
#vartotojas įveda teksto failo pavadinimą
skaityti -p 'Įveskite failo pavadinimą:'FILE
#skaityti duomenis iš teksto failo
katė $ FILE


5. Kitų programų paleidimas iš bash
„Bash“ suteikia teisę paleisti kitas programas iš „Bash“ scenarijaus. Kitoms „Bash“ programoms paleisti naudojame komandą exec. Komanda exec pakeičia ankstesnį procesą dabartiniu ir paleidžia dabartinę programą. Pavyzdžiui, iš „bash“ scenarijaus galime atidaryti „nano“, „gedit“ arba „vim“ redaktorių.

#!/bin/bash
#veikia „Bash“ nano redaktorius
vykd nano

#!/bin/bash
#bėgimas gedit iš Bash
vykdgedit

Panašiai naršyklės programą galime paleisti ir iš „Bash“. Paleiskite „Mozilla Firefox“ naršyklę.

#!/bin/bash
#veikia „Firefox“
vykdfirefox


Be to, mes galime paleisti bet kurią programą iš „Bash“ naudodami komandą „exec“.

6. Komandinės eilutės apdorojimas
Komandinės eilutės apdorojimas reiškia terminale įvestų duomenų apdorojimą. Komandinės eilutės duomenys yra apdorojami įvairiais tikslais, ty skaityti vartotojo įvestį, pervertinti komandas ir skaityti argumentus. Anksčiau mes aptarėme skaitymo komandą. Skaitymo komanda taip pat naudojama komandų eilutės apdorojimui. Šiame skyriuje aptarsime komandinės eilutės argumentų apdorojimą. „Bash“ galime apdoroti argumentus, kurie perduodami ar parašyti terminale. Argumentai apdorojami taip pat, kaip ir perduodami. Todėl jis vadinamas padėties parametrais. Skirtingai nuo kitų programavimo kalbų, „Bash“ argumentų indeksavimas prasideda nuo 1. Argumentams skaityti naudojamas dolerio ženklas ($). Pavyzdžiui, 1 USD nuskaito pirmąjį argumentą, 2 USD - antrą argumentą ir pan. Argumentai gali būti išanalizuoti dėl įvairių priežasčių, pvz., Dėl to, kad įvedama informacija iš vartotojo.

#!/bin/bash
išmetė „Įveskite savo vardą“
#apdorojant pirmąjį argumentą
išmetė 'Pirmas vardas:' 1 USD
#apdorojant antrąjį argumentą
išmetė 'Antras vardas:'2 USD
#apdorojant trečiąjį argumentą
išmetė 'Pavardė:' 3 USD
išmetė 'Pilnas vardas:' 1 USD 2 USD 3 USD


Duomenų skaitymas iš terminalo naudojant skaitymą ir argumentų analizavimas yra tinkamiausi komandinės eilutės apdorojimo pavyzdžiai.

Bash istorija ir palyginimas su kitais apvalkalais

„Bash“ dabar yra esminis UNIX ir „Linux“ pagrįstų sistemų komponentas. „Bourne Shell“ iš pradžių sukūrė Stephenas Bourne'as. Numatytas Stepheno Bourne'o apvalkalo tikslas buvo įveikti tuo metu jau egzistuojančių kriauklių apribojimus. Prieš „Bourne Shell“ UNIX pristatė „Thompson Shell“. Tačiau „Thompson“ apvalkalas buvo labai ribotas apdorojant scenarijų. Vartotojai negalėjo paleisti pakankamo scenarijaus kiekio. Siekiant įveikti visus šiuos „Thompson“ apvalkalo apribojimus, buvo pristatytas „Bourne Shell“. Jis buvo sukurtas „Bells Lab“. 1989 m. Brianas Foxas sukėlė revoliuciją „Bourne“ apvalkale, pridėdamas daugybę kitų funkcijų ir pavadino jį „Bourne Again Shell“ (BASH).

Korpuso pavadinimas Metai Platforma apibūdinimas Palyginimas su BASH
„Thompson Shell“ 1971 m UNIX Scenarijaus automatizavimas buvo ribotas. Vartotojas gali atlikti tik nedidelius scenarijus. BASH įveikia „Thompson“ apvalkalo apribojimus ir vartotojas gali rašyti didelius scenarijus.
Bourne Shell 1977 m UNIX Tai leidžia mums parašyti ir paleisti daugybę scenarijų. „Bourne Shell“ neteikia komandų redaktoriaus ir daugiau nuorodų. BASH kartu su komandų redaktoriumi patobulina dizainą.
„POSIX Shell“ 1992 m POSIX „POSIX Shell“ yra nešiojamas. Tai suteikia daug nuorodų ir darbo kontrolę. BASH yra populiarus atliekant tas užduotis, kurių nereikia perkelti.
Z apvalkalas 1990 m UNIX „Z Shell“ yra daug funkcijų. Tai labai galingas apvalkalas ir suteikia tokias funkcijas kaip komandų automatinis užbaigimas, rašybos taisymas ir automatinis pildymas. BASH trūksta kai kurių funkcijų, kurias teikia „Z Shell“.

Išvada

BASH yra labai galingas įrankis, leidžiantis vykdyti komandas ir scenarijus. BASH scenarijus leidžia mums automatizuoti kasdienes užduotis ir komandas. BASH scenarijus yra kelių komandų derinys. BASH failas baigiasi .sh plėtiniu. Prieš paleisdami BASH scenarijų, turime atnaujinti failo leidimus ir pateikti .sh failo vykdomąjį leidimą. Šiame straipsnyje paaiškinami BASH ir BASH scenarijai, naudojant paprastus pavyzdžius ir svarbias pamokas. Be to, jame aprašoma BASH istorija ir palyginamos jo savybės su įvairiais kitais galingais apvalkalais.