Ano ang isang Bash Script?

What Is Bash Script



Narinig mo na ba ang sinabi sa iyo ng iyong ama na kumuha ka ng isang basong tubig? Mayroon kang pagpipilian na sabihin na Hindi, ngunit ang computer ay wala sa pagpipiliang iyon. Gagawin ng mga computer ang eksaktong nais mong sabihin sa kanila na gawin. Ang Bash ay isang shell lamang na nagbibigay-daan sa iyo upang makipag-usap sa computer at payagan kang magbigay ng mga tagubilin dito. Ang isang script ay karaniwang isang hanay lamang ng mga tagubilin na ibinigay sa computer upang magpatupad ng iba't ibang mga makahulugang gawain. Tinutulungan ka ng isang script na i-automate ang iba't ibang mga gawain kasama ang karangyaan upang makamit ang mga resulta nang mas mabilis kaysa sa normal na pamamaraan. Karaniwan, sa terminal, nagsusulat ka ng isang pangunahing o advance na bash na utos at ito ay naisasagawa kaagad dito. Sa mga script ng bash, maaari kang magbigay ng maraming mga tagubilin o utos nang sabay-sabay at naisasagawa lamang ng computer ang lahat ng ito kapag naisagawa ang script. Sa madaling sabi, ang solong bash command ay maaaring maipatupad sa terminal ngunit upang maisagawa ang isang kumbinasyon ng maraming mga utos nang sabay-sabay, kailangan mong lumikha ng isang bash script.

Bakit ang bash ay kapaki-pakinabang at para kanino ito kapaki-pakinabang?

Kung nais mo ng higit na kontrol sa iyong OS at nais mong gumanap ng iba't ibang mga gawain na nauugnay sa OS kung gayon ang bash ay ang iyong paraan upang pumunta. Sa pamamagitan ng bash, hindi lamang kami tumutukoy sa wika ng scripting ngunit din sa mga tool na kasama ng operating system ng Linux. Ang bawat solong tool sa Linux ay may gawa nito at bawat isa ay nagsasagawa ng iba't ibang gawain nang paisa-isa. Tunay na kapaki-pakinabang ang Bash tuwing kailangan mong pagsamahin ang lahat ng mga tool na iyon at i-chain ang mga ito nang sama-sama na gumagana silang lahat sa pagkakaisa upang makamit ang isang gawain na talagang mahirap gawin kung hindi man. Halimbawa, ang anumang bagay na may kinalaman sa Linux OS ay maaari ding gawin sa ibang mga wika sa pagprograma tulad ng Python o Perl ngunit napakahirap makamit ang iba't ibang mga gawain na nauugnay sa OS. Ang isang simple, itim at puti at pinakamadaling paraan upang gumawa ng anumang bagay patungkol sa Linux OS ay sa pamamagitan ng paggamit ng bash. Para sa sinumang nais na gumanap ng mga gawain na may kasamang mga tool sa Linux OS (tulad ng ls, cd, cat, touch, grep, atbp.), Kapaki-pakinabang para sa kanya na matuto nang bash sa halip na anumang iba pang wika sa pagprograma.







Paano naghahambing ang Bash sa iba pang mga wika ng programa?

Kung pinag-uusapan natin ang tungkol sa bash nalalaman natin na ang bash ay hindi isang wikang pangkalahatang layunin sa programa ngunit isang interpreter ng linya ng utos. Tunay na kapaki-pakinabang ang Bash upang maisagawa ang mga gawain sa paligid ng iba't ibang mga tool at proseso na may kakayahang pagsamahin ang magkakaibang mga proseso nang sama-sama at gawin ang lahat ng mga ito patungo sa isang solong layunin. Ang Bash ay talagang madaling gamiting pagdating sa pagharap at pagmamanipula ng mga input at output na isang talagang mahirap na bagay na gawin sa iba pang mga pangkalahatang layunin na mga wika ng programa tulad ng sawa, C, atbp. Gayunpaman, pagdating sa mga istruktura ng data at kumplikadong mga gawain tulad ng tulad ng pagmamanipula ng kumplikadong data, hindi mahawakan ng bash ang mga naturang gawain at kailangan nating tingnan ang mga wika sa pagprograma tulad ng Python, Perl, C, atbp. Sa mga wika sa pagprograma, maaari kang bumuo ng software o isang tool ngunit hindi mo maitatayo ang alinman sa mga ito sa bash. Gayunpaman, maaari mong gamitin ang bash upang patakbuhin ang mga tool o pagsamahin ang mga tool na iyon nang sama-sama upang tumakbo nang mahusay. Ito ay tulad ng pagbuo ng isang rocket, kung isasaalang-alang namin ang talinghagang ito, ang mga wika sa programa ay makakatulong sa iyo na itayo ang rocket habang tutulungan ka ng bash na itaboy ang rocket at tutulungan kang itakda ang direksyon nito at matulungan kang mapunta ito sa buwan o mars.



Paano Lumikha at magpatakbo ng Bash Script?

Upang lumikha ng isang bash script, kailangan mo munang lumikha ng isang file ng teksto na may extension ng .sh sa dulo ng pangalan ng file. Maaari kang lumikha ng bash scripting file gamit ang terminal.



$hawakanscript.sh


Pagkatapos mag-type sa utos sa itaas, pindutin ang enter key at magkakaroon ka ng isang bash scripting file na nilikha sa iyong kasalukuyang gumaganang direktoryo. Ngunit hindi iyon, nilikha namin ang file ng scripting ngunit kailangan naming magsagawa ng ilang mga pagkilos upang makumpleto ang script at patakbuhin ito. Una sa lahat, buksan ang file ng scripting sa isang nano editor o gedit at sa pinakaunang uri ng linya sa:





#! / baseng / bash


Ito ay isang pamantayan ng unang linya para sa bawat bash scripting file na tumutulong sa ito na makilala bilang isang bash script. Ang anumang script na walang #! / Bin / bash sa unang linya ay hindi maituturing bilang isang bash script, kaya siguraduhing idagdag ang linyang ito sa tuktok ng bawat script. Kapag naidagdag mo ang linyang ito, maaari mo nang simulang magsulat sa script. Halimbawa, magsusulat ako rito ng isang simpleng utos ng echo:

$itinaponIto ang LinuxHint, Pinakamahusay na Platform sa Pag-aaralpara saBash


Kapag naisulat mo na ang utos na ito, ngayon ay maaari mo nang i-save ito, at bumalik sa iyong terminal. Sumulat sa iyong terminal:



$ls -sa


Maaari mong makita ang 'script.sh' na nakasulat sa puting kulay na kung saan ay isang palatandaan na ang script ay isang hindi maipapatupad na file dahil ang mga maipapatupad na file ay karaniwang may berdeng kulay. Dagdag dito, tingnan ang kaliwang bahagi kung saan maaari naming makita ang isang pattern tulad ng -rw-r – r– na sumasalamin na ang file ay nababasa at nasusulat lamang.
Ang unang bahagi na naglalaman ng 'rw' ay ang mga pahintulot para sa may-ari na malamang ang kasalukuyang gumagamit.

Ang ika-2 bahagi na naglalaman ng ‘r’ ay ang pahintulot para sa pangkat kung saan maraming mga gumagamit kami.

Habang ang ika-3 bahagi na naglalaman ng ‘r’ ay pahintulot para sa publiko na nangangahulugang ang sinuman ay maaaring magkaroon ng mga pahintulot na ito para sa nabanggit na file.

Ang ‘r’ ay nangangahulugang binasa ang mga pahintulot, ang ‘w’ ay nangangahulugang mga pahintulot sa pagsusulat, ang ‘x’ ay nangangahulugang maisasagawa na mga pahintulot. Malinaw, hindi namin nakikita ang x laban sa 'script.sh'. Upang magdagdag ng maipapatupad na mga pahintulot, mayroong dalawang paraan upang magawa ito.

Paraan 1

Sa pamamaraang ito, maaari kang magsulat ng isang simpleng utos ng chmod gamit ang ‘+ x 'at maidaragdag nito ang mga naipapatupad na pahintulot.

$chmod+ x script.sh


Gayunpaman, hindi ito ang pinaka mahusay na paraan upang magbigay ng mga naipapatupad na pahintulot dahil nagbibigay ito ng maipapatupad na mga pahintulot hindi lamang sa may-ari ngunit sa pangkat at publiko din na tiyak na ayaw namin para sa mga kadahilanang pangseguridad. Tingnan:

Paraan 2

Sa pamamaraang ito, maaari kang gumamit ng mga numero upang idikta ang mga pahintulot ng isang file. Bago kami tumalon doon, nais kong bigyan ka ng isang maikling ideya tungkol sa kung ano ang ibig sabihin ng mga numerong iyon at kung paano mo magagamit ang mga ito upang manipulahin ang mga pahintulot.
basahin = 4
isulat = 2
ipatupad = 1
Ang mga numero ng pahintulot ay nasa tatlong mga digit pagkatapos ng utos ng chmod at ang bawat digit ay kumakatawan sa mga pahintulot ng may-ari, pangkat, at iba pa (publiko). Halimbawa, upang magbigay ng mga pahintulot sa pagbasa, pagsulat, at pagpapatupad sa may-ari at basahin ang mga pahintulot sa pangkat at iba pa ay magiging katulad nito:

$chmod 744script.sh


Kung napansin mo, magkakaroon ka ng isang mapagtanto na nagdagdag kami ng nabasa, sumulat at magpatupad ng mga numero para sa may-ari sa unang digit bilang 4 + 2 + 1 = 7, at para sa pangkat at iba pa ginagamit namin ang digit ng nabasa ie 4.

Patakbuhin ang isang Bash Script

Ngayon sa wakas naabot namin ang isang marka kung saan maaari naming patakbuhin ang bash script. Upang patakbuhin ang iyong bash script, kailangan mong tiyakin na ikaw ay nasa kasalukuyang gumaganang direktoryo kung saan nakatira ang iyong script. Hindi ito sapilitan ngunit sa ganoong paraan madali dahil hindi mo kailangang isulat ang buong landas. Kapag nagawa mo na ito, ngayon magpatuloy at magsulat sa iyong terminal ./nameofscript.sh. Sa aming kaso, ang pangalan ng script ay 'script.sh', kaya magsusulat kami ng:

$./script.sh

3 Mga Simpleng Halimbawa ng Bash Script

Kumusta LinuxHint
Una sa lahat, lilikha kami ng isang bash file sa kasalukuyang gumaganang direktoryo:

$nanoF_script.sh


Sa loob ng file kailangan mong isulat ang sumusunod:

#! / baseng / bash
itinapon 'Hello LinuxHint'


Kapag nasulat mo na ito, subukang pindutin ang Ctrl + O upang isulat ang mga pagbabago sa file kung gayon kung nais mong panatilihin ang pangalan ng parehong hit enter, kung hindi man ay i-edit ang pangalan, at pagkatapos ay pindutin ang enter. Pindutin ngayon ang Ctrl + X upang lumabas sa nano editor. Ngayon makikita mo ang isang file na pinangalanang F_script.sh sa iyong kasalukuyang direktoryo.
Upang patakbuhin ang file na ito maaari mong baguhin ang mga pahintulot nito upang maisagawa ito o maaari kang sumulat:

$bashF_script.sh


Echo Command
Kapag pinag-uusapan natin ang utos ng echo, simpleng ginagamit ito upang mai-print ang lahat ng gusto mong i-print hangga't nakasulat ito sa loob ng mga quote. Karaniwan kapag nagpatakbo ka ng isang utos ng echo nang walang anumang bandila umalis ito ng isang linya pagkatapos ay mai-print ang output. Halimbawa, kung mayroon kaming isang script:

#! / baseng / bash
itinapon 'I-print sa susunod na linya'

Matapos itong mai-save, kung tatakbo natin ito:

$bashF_script.sh


Kung gagamitin namin ang watawat na '-n' na may echo pagkatapos ay naka-print ito sa parehong linya.

#! / baseng / bash
itinapon -n 'I-print sa parehong linya'

Matapos itong mai-save, kung tatakbo natin ito:

$bashF_script.sh


Katulad nito, kung gumagamit kami ng ' n' o ' t' sa loob ng mga dobleng quote, mai-print ito tulad nito.

#! / baseng / bash
itinapon ' nI-print sa tang parehong linya n'


Gayunpaman, kung gagamitin namin ang watawat na ‘-e’, lahat ng ito ay hindi lamang mawawala ngunit nalalapat din nito ang n at t at makikita mo ang mga pagbabago sa output sa ibaba:

#! / baseng / bash
itinapon -At ' nI-print sa tang parehong linya n'


Mga komento sa BASH
Ang isang puna ay isang linya na hindi mahalaga para sa computer. Anumang isulat mo bilang isang komento ay nullified o hindi pinansin ng computer at walang epekto sa nakasulat na code. Ang mga komento ay karaniwang itinuturing na higit na isang kapaki-pakinabang na paraan para maunawaan ng isang programmer ang lohika ng code upang kapag bumalik siya sa muling paggana sa mga piraso ng code, maaaring ipaalala sa kanya ng mga komentong iyon ang lohika at mga kadahilanan kung bakit nagsulat siya ng code sa isang tukoy. paraan Ang mga komento ay maaari ding gamitin ng ibang mga programmer na maaaring nais na gumawa ng mga pagbabago sa code. Kung nakasulat ka ng isang piraso ng code at hindi mo nais itong alisin ngunit nais mong makita ang output nang wala ang tukoy na piraso ng code pagkatapos ay maaari kang magkomento sa partikular na piraso ng code at magpatuloy at magpatupad. Tumatakbo lamang ang iyong programa, bibigyan ka ng magagandang resulta habang ang sobrang code ay naroroon pa rin sa iyong script ngunit hindi ito epektibo dahil sa mga komento. Tuwing nais mong gamitin muli ang piraso ng code, magpatuloy at huwag paganahin ang mga linya at mabuti kang puntahan.
Mayroong dalawang paraan na maaari kang magsulat ng mga komento sa bash; ang isang paraan ay ang pagsulat ng mga solong komento habang ang iba pang paraan ay ginagamit upang sumulat ng mga multi-line na komento.

Mga Komento sa Single Line
Sa mga solong linya na komento, gumagamit kami ng isang tanda na '#' na makakatulong na magkomento sa buong linya. Ang anumang nakasulat sa linya na sinusundan ng '#' ay isasaalang-alang bilang isang komento at walang tunay na halaga kapag ipinapatupad namin ang script. Ang solong puna na linya na ito ay maaaring magamit upang maipaabot ang lohika at pag-unawa ng code sa isang taong may access sa code.

#! / baseng / bash
itinapon -At ' nI-print sa tang parehong linya n'
Ang script na ito ay tumutulong sa amin na mailapat ang / kombinasyon ng / n at / t



Mga Komento sa Multi Line
Sabihin nating nais mong magbigay ng isang daang linya sa iyong script. Sa kasong iyon, magiging mahirap para sa iyo na gumamit ng mga solong linya na komento. Hindi mo nais na sayangin ang iyong oras sa paglalagay ng # sa bawat linya. Maaari naming gamitin ang ‘:’ at pagkatapos ay ‘kung ano man ang mga puna’. Matutulungan ka nitong magkomento sa maraming mga linya sa pamamagitan lamang ng pagta-type sa 3 mga simbolo na madaling gamitin at kapaki-pakinabang.

#! / bin / bash ’
: 'Ito ang script na nakasisiguro
na n at t gagana at mailalapat
saisang paraan na mayroon kaming kinakailangang output ’
itinapon -At ' nI-print sa tang parehong linya n'



Tingnan ang 30 Mga Halimbawa ng mga script ng Bash sa Linuxhint.com:

30 Mga Halimbawa sa Bash Script

6 Pinakamahalagang aralin sa Bash Scripting

1. Kundisyon na Pahayag
Ang kondisyong pahayag ay isang napaka kapaki-pakinabang na tool sa paggawa ng desisyon. Malawakang ginagamit ito sa mga wika ng pagprograma. Mas madalas, kailangan nating gumawa ng mga desisyon batay sa ilang mga kundisyon. Sinusuri ng kondisyong pahayag ang ibinigay na kundisyon at kumukuha ng desisyon. Sa bash, ginagamit din namin ang kondisyunal na pahayag tulad ng anumang iba pang wika ng programa. Ang syntax ng paggamit ng kondisyong pahayag sa bash ay medyo naiiba mula sa iba pang mga wika ng programa. Ang kondisyong kung ang pinakakaraniwang ginagamit na kondisyong pahayag sa bash at iba pang mga wikang may pangkalahatang layunin na pagprogram. Sinusuri ng kundisyon kung ang ibinigay na kundisyon at nagpapasiya. Ang ibinigay na kundisyon ay tinatawag ding isang expression ng pagsubok. Mayroong maraming mga paraan upang magamit ang kung kondisyon sa bash. Ginamit ang kondisyong kung may iba pang bloke. Sa kaso, kung ang ibinigay na kundisyon ay totoo, kung gayon ang mga pahayag sa loob ng kung block ay naisakatuparan, kung hindi man ang iba pang block ay naisakatuparan. Mayroong maraming mga paraan ng paggamit ng kung pahayag ng kundisyon sa Bash na kung saan ay ang mga sumusunod:

  1. Ang kung pahayag
  2. Ang kung iba pang pahayag
  3. Ang pugad kung pahayag
  4. Ang kung pahayag ng elif

Ang kung pahayag
Sinusuri lamang ng kung pahayag ang ibinigay na kundisyon, kung ang ibinigay na kundisyon ay totoo, kung gayon ang mga pahayag o utos sa loob ng kung block ay naisakatuparan, kung hindi man ay natapos ang programa. Sa bash, kung ang kondisyon ay nagsisimula sa kung keyword at nagtatapos sa fi keyword. Ginamit ang keyword pagkatapos ay upang tukuyin ang bloke ng mga pahayag o utos na isinasagawa kapag ang isang tiyak na kundisyon ay totoo. Ideklara natin ang isang variable at gamitin ang kung kundisyon upang suriin ang halaga ng variable kung ito ay mas malaki sa 10 o hindi. Ginagamit ang -gt upang suriin ang mas malaki kaysa sa kondisyon samantalang, ang -lt ay ginagamit upang suriin ang mas mababa sa kundisyon.

#! / baseng / bash
SAAN=100
#deklara ang kung kundisyon
kung [ $ VAR -gt 10 ]
tapos
itinapon 'Ang$ VARay higit sa 10 '
#ending ang kung kondisyon
maging


Ang kung iba pang pahayag
Ang kung ibang pahayag ay ginagamit din bilang isang kondisyong pahayag. Ang mga pahayag o utos pagkatapos ng kung kundisyon ay naisakatuparan kung ang ibinigay na kundisyon ay totoo. Kung hindi man, ang ibang block ay naisakatuparan kung ang ibinigay na kundisyon ay hindi totoo. Ang iba pang block ay sinusundan ng if block at nagsisimula sa ibang keyword.

#! / baseng / bash
SAAN=7
#deklara ang kung kundisyon
kung [ $ VAR -gt 10 ]
tapos
itinapon 'Ang$ VARay higit sa 10 '
#deklara pa ang block
iba pa
itinapon 'Ang$ VARay mas mababa sa 10 '
#ending ang kung kondisyon
maging


Maramihang mga kundisyon ay maaaring masuri sa pamamagitan ng paggamit ng kung kundisyon. Maaari naming gamitin ang at operator (&) at o operator (II) upang suriin ang maraming mga kundisyon sa loob ng isang solong kung pahayag.

#! / baseng / bash
SAAN=dalawampu
#deklara ang kung kundisyon
kung [[ $ VAR -gt 10 && $ VAR -lt 100 ]]
tapos
itinapon 'Ang$ VARay higit sa 10 at mas mababa sa 100 '
#deklara pa ang block
iba pa
itinapon 'Ang kundisyon ay hindi nasiyahan'
#ending ang kung kondisyon
maging


Ang pugad kung pahayag
Sa pugad kung pahayag, mayroon kaming isang kung pahayag sa loob ng isang kung pahayag. Ang una kung pahayag ay sinusuri, kung ito ay totoo kung gayon ang iba kung ang pahayag ay susuriin.

#! / baseng / bash
SAAN=dalawampu
#deklara ang kung kundisyon
kung [[ $ VAR -gt 10 ]]
tapos
#kung kundisyon sa loob ng isa pa kung consition
kung [ $ VAR -lt 100 ]
tapos
itinapon 'Ang$ VARay higit sa 10 at mas mababa sa 100 '
#deklara pa ang block
iba pa
itinapon 'Ang kundisyon ay hindi nasiyahan'
#ending ang kung kondisyon
maging
iba pa
itinapon 'Ang$ VARay mas mababa sa 10 '
maging


Ang kung pahayag ng elif
Ginagamit ang pahayag na kung elif upang suriin ang maraming mga kundisyon. Ang unang kundisyon ay nagsisimula sa kung block at ang iba pang mga kundisyon ay sinusundan ng keyword na elif. Isaalang-alang natin ang nakaraang halimbawa ng variable na numero at ipatupad ang if if elif na pahayag sa aming bash script. Ang eq ay ginagamit bilang isang pantay na operator.

#! / baseng / bash
SAAN=dalawampu
#deklara ang kung kundisyon
kung [[ $ VAR -eq 1 ]]
tapos
itinapon 'Ang variable na halaga ay katumbas ng 1'
elif [[ $ VAR -eq 2 ]]
tapos
itinapon 'Ang halaga ng variable ay katumbas ng 2'
elif [[ $ VAR -eq 3 ]]
tapos
itinapon 'Ang halaga ng variable ay katumbas ng 2'
elif [[ $ VAR -gt 5 ]]
tapos
itinapon 'Ang halaga ng variable ay mas malaki sa 5'
maging


2. Pag-loop
Ang mga loop ay mahalaga at pangunahing bahagi ng anumang wika ng programa. Hindi tulad ng, iba pang mga wika ng programa, ang mga loop ay ginagamit din sa Bash upang maisagawa ang isang gawain nang paulit-ulit hanggang sa totoo ang ibinigay na kundisyon. Ang mga loop ay paulit-ulit, ang mga ito ay isang mahusay na tool para sa awtomatiko ng mga katulad na uri ng mga gawain. Ang para sa loop, habang loop, at hanggang loop ay ginagamit sa Bash.
Talakayin natin isa-isang ang mga loop na ito.

Ang habang loop
Ang habang loop ay nagpapatupad ng parehong mga pahayag o utos ng paulit-ulit. Sinusuri nito ang kundisyon, at pinapatakbo ang mga pahayag o utos hanggang sa totoo ang kundisyon.
Ito ang pangunahing syntax ng paggamit ng isang habang loop sa Bash.

Habang [kondisyon o ekspresyon ng pagsubok]
gawin
pahayag
tapos na

Ipatupad natin ang habang loop sa aming script.sh file. Mayroon kaming variable na VAR na ang halaga ay katumbas ng zero. Sa habang loop, naglagay kami ng isang kundisyon, na ang loop ay dapat tumakbo hanggang sa ang halaga ng VAR ay mas mababa sa 20. Ang variable na halaga ay nadagdagan ng 1 pagkatapos ng bawat pag-ulit. Kaya, sa kasong ito, magsisimula ang loop sa pagpapatupad hanggang sa ang variable na halaga ay mas mababa sa 20.

#! / baseng / bash
SAAN=0
habang [ $ VAR -lt dalawampu ]
gawin
itinapon 'Ang kasalukuyang halaga ng variable ay$ VAR'
#dagdagan ang halaga ng 1 sa VAR
SAAN= $((VAR +1))
tapos na


Ang para sa loop
Ang para sa loop ay ang pinakakaraniwang ginagamit na loop sa bawat wika ng programa. Ginagamit ito upang maisagawa ang umuulit na gawain. Ito ang pinakamahusay na paraan upang maisagawa ang mga paulit-ulit na gawain. Ipahayag natin ang for loop sa aming script.sh file at gamitin ito para sa pagsasagawa ng isang paulit-ulit na gawain.

#! / baseng / bash
SAAN=0
para sa (( ako==0; ako<dalawampu; ako ++))
gawin
itinapon 'Kumusta at maligayang pagdating sa linuxhint'
#pagdagdag ng variable i
ako= $((ako +1))
tapos na
itinapon 'Ito ang katapusan ng para sa loop'


Ang hanggang loop
Ang iba pang uri ng loop na ginagamit sa Bash ay hanggang sa loop. Gumagawa rin ito o nagpapatupad ng parehong hanay ng paulit-ulit. Sinusuri ng hanggang sa loop ang kundisyon at magsimulang magpatupad hanggang sa ang ibinigay na kundisyon ay hindi totoo. Ang hanggang loop ay natatapos kung ang ibinigay na kundisyon ay totoo. Ang syntax ng hanggang loop ay ang mga sumusunod:

hanggang sa [kondisyon]
gawin
pahayag
utos
tapos na

Ipatupad natin ang hanggang loop sa aming script.sh file. Tatakbo ang loop hanggang maliban sa kundisyon ay mali (Ang halaga ng variable ay mas mababa sa 20)

#! / baseng / bash
SAAN=0
hanggang sa [ $ VAR -gt dalawampu ]
gawin
itinapon 'Kumusta at maligayang pagdating sa linuxhint'
#pagdagdag ng variable i
SAAN= $((VAR +1))
tapos na
itinapon 'Ito ang katapusan ng hanggang loop'


3. Pagbasa mula sa gumagamit at pagsulat nito sa screen
Binibigyan ng Bash ng kalayaan ang gumagamit upang maglagay ng ilang halaga ng string o data sa terminal. Ang gumagamit ay nagpasok ng string o data na maaaring mabasa mula sa terminal, maaari itong maiimbak sa file, at maaaring mai-print sa terminal. Sa Bash file, ang input mula sa gumagamit ay maaaring basahin gamit ang basahin keyword at iniimbak namin ito sa isang variable. Ang variable na nilalaman ay maaaring ipakita sa terminal sa pamamagitan ng paggamit ng echo command.

#! / baseng / bash
itinapon 'Sumulat ng isang bagay sa terminal'
# pagtatago ng ipinasok na halaga sa VAR
basahinSAAN
itinapon 'Nagpasok ka:$ VAR'


Maaaring magamit ang maraming pagpipilian sa binasang utos. Ang pinaka-karaniwang ginagamit na mga pagpipilian ay -p at -s. Ipinapakita ng -p ang prompt at ang pag-input ay maaaring makuha sa parehong linya. Ang –s ay kumukuha ng input sa silent mode. Ang mga character ng input ay ipinapakita sa terminal. Ito ay kapaki-pakinabang upang maglagay ng ilang sensitibong impormasyon ibig sabihin mga password.

#! / baseng / bash
basahin -p 'Ipasok ang email:'email
itinapon 'Ilagay ang password'
basahin -spassword


4. Pagbasa at pagsusulat ng mga file ng teksto
Ang mga file ng teksto ang mahahalagang bahagi upang mabasa at isulat ang data. Ang data ay naimbak pansamantala sa mga file ng teksto at mababasa ito nang madali mula sa text file. Una, talakayin natin ang pagsulat ng data sa file ng teksto at pagkatapos nito, tatalakayin natin ang pagbabasa ng data mula sa mga file ng teksto.

Pagsulat ng mga file ng teksto
Ang data ay maaaring nakasulat sa isang file sa iba't ibang paraan:

  • Sa pamamagitan ng paggamit ng Tamang Angle Bracket o mas malaki kaysa sa pag-sign (>)
  • Sa pamamagitan ng paggamit ng dobleng Right Angle Bracket (>>)
  • Sa pamamagitan ng paggamit ng tee command

Tamang Pag-sign ng Angel Bracket (>) upang magsulat ng data
ito ang pinakakaraniwang ginagamit na paraan upang isulat ang data sa file ng teksto. Isusulat namin ang data at pagkatapos ay ilagay ang> sign. Ang> sign point sa text file kung saan kailangan nating iimbak ang data. Gayunpaman, hindi nito idadagdag ang file at ang nakaraang data ng file ay ganap na pinalitan ng bagong data.

#! / baseng / bash
#user ay nagpasok ng pangalan ng file ng teksto
basahin -p 'Ipasok ang pangalan ng file:'FILE
#user ay nagpasok ng data upang maiimbak sa text file
basahin -p 'Sumulat ng data upang ipasok sa file:'DATA
# pagtatago ng data sa text file
#> tumuturo sa pangalan ng file.
itinapon $ DATA > $ FILE


Tamang Pag-sign ng Angel Bracket (>>) upang magsulat ng data
Ginagamit ang >> upang iimbak ang output ng anumang utos sa file. Halimbawa, ipinapakita ng utos ng ls -al ang nilalaman at mga pahintulot ng isang file sa isang partikular na direktoryo. Ang >> itatabi ang output sa file.

#! / baseng / bash
#user ay nagpasok ng pangalan ng file ng teksto
basahin -p 'Ipasok ang pangalan ng file:'FILE
# pagtatago ng output ng utos sa file
ls -sa >> $ FILE



Paggamit ng utos ng tee upang magsulat ng data sa text file
Ang tee command sa Bash ay ginagamit upang isulat ang output ng utos sa isang text file. I-print nito ang output ng utos sa terminal at iimbak din ito sa text file.

#! / baseng / bash
#user ay nagpasok ng pangalan ng file ng teksto
basahin -p 'Ipasok ang pangalan ng file:'FILE
# pagtatago ng output ng utos sa file gamit ang tee command
ls -sa | katangan $ FILE


Ang utos ng tee ay pinapatong ang umiiral na data ng file bilang default. Gayunpaman, ang isang pagpipilian na may utos na katangan ay maaaring magamit upang idugtong ang file.

#! / baseng / bash
#user ay nagpasok ng pangalan ng file ng teksto
basahin -p 'Ipasok ang pangalan ng file:'FILE
# pagtatago ng output ng utos sa file gamit ang tee command
ls -sa | katangan -sa $ FILE


Pagbasa ng mga file ng teksto
Ang pusa ginagamit ang utos upang mabasa ang data mula sa file. Ito ang pinakakaraniwang ginagamit para sa hangaring ito. Ito lamang ang naglilimbag ng nilalaman ng text file sa terminal. I-print natin ang nilalaman o data ng file sa terminal gamit ang pusa utos

#! / baseng / bash
#user ay nagpasok ng pangalan ng file ng teksto
basahin -p 'Ipasok ang pangalan ng file:'FILE
#magbasa ng data mula sa text file
pusa $ FILE


5. Pagpapatakbo ng iba pang mga programa mula sa bash
Binibigyan ng Bash ng awtoridad na magpatakbo ng iba pang mga programa mula sa script ng Bash. Ginagamit namin ang utos ng exec upang patakbuhin ang iba pang mga programa mula sa Bash. Pinalitan ng utos ng exec ang nakaraang proseso sa kasalukuyang proseso at inilulunsad ang kasalukuyang programa. Halimbawa, maaari nating buksan ang nano, gedit, o vim editor mula sa bash script.

#! / baseng / bash
#running nano editor mula sa Bash
exec nano

#! / baseng / bash
#running gedit from Bash
execgedit

Katulad nito, maaari naming patakbuhin ang application ng browser mula sa Bash din. Patakbuhin natin ang browser ng Mozilla Firefox.

#! / baseng / bash
# tumatakbo ang firefox
execfirefox


Bukod dito, maaari naming patakbuhin ang anumang programa mula sa Bash gamit ang exec command.

6. Pagpoproseso ng linya ng utos
Ang pagpoproseso ng linya ng utos ay tumutukoy sa pagproseso ng data na ipinasok sa terminal. Ang data ng linya ng utos ay naproseso para sa maraming mga layunin hal hal. Pagbabasa ng input ng gumagamit, pag-understate ng mga utos, at pagbabasa ng mga argumento. Dati, tinalakay namin ang binasang utos. Ang binasang utos ay ginagamit din para sa pagproseso ng linya ng utos. Sa seksyong ito, tatalakayin namin ang pagpoproseso ng mga argumento ng linya ng utos. Sa Bash, maaari naming maproseso ang mga argumento na naipasa o nakasulat sa terminal. Ang mga argumento ay naproseso sa parehong paraan tulad ng naipasa. Samakatuwid, ito ay tinatawag na mga posisyong parameter. Sa kaibahan sa iba pang mga wika ng pagprograma, ang pag-index ng mga argumento sa Bash ay nagsisimula sa 1. Ginagamit ang sign ng Dollar ($) upang basahin ang mga argumento. Halimbawa, binabasa ng $ 1 ang unang argumento, binabasa ng $ 2 ang pangalawang argumento, at iba pa. Ang mga argumento ay maaaring mai-parse para sa iba't ibang mga kadahilanan tulad ng pagkuha ng input mula sa gumagamit.

#! / baseng / bash
itinapon 'Ipasok ang iyong pangalan'
#proseso ang unang argumento
itinapon 'Pangalan:' $ 1
#proseso ang pangalawang argumento
itinapon 'Gitnang pangalan:'$ 2
#proseso ang pangatlong argumento
itinapon 'Huling pangalan:' $ 3
itinapon 'Buong pangalan:' $ 1 $ 2 $ 3


Ang pagbabasa ng data mula sa terminal gamit ang nabasa, at pag-parse ng mga argumento ay ang pinakaangkop na mga halimbawa ng pagpoproseso ng linya ng utos.

Kasaysayan ng Bash at Paghahambing sa Iba Pang Mga Shell

Ang Bash ay ngayon ang mahahalagang sangkap ng UNIX at Linux based system. Ang Bourne Shell ay paunang binuo ni Stephen Bourne. Ang inilaan na layunin ng shell ng Stephen Bourne ay upang mapagtagumpayan ang mga limitasyon ng mayroon nang mga shell sa oras na iyon. Bago ang Bourne Shell, ipinakilala ng UNIX ang Thompson Shell. Gayunpaman, ang Thompson shell ay napaka-limitado sa pagproseso ng script. Ang mga gumagamit ay hindi makapagpatakbo ng isang sapat na halaga ng script. Upang mapagtagumpayan ang lahat ng mga limitasyong ito ng Thompson shell, ipinakilala ang Bourne Shell. Ito ay binuo sa Bells Lab. Noong 1989, binago ng Brian Fox ang shell ng Bourne sa pamamagitan ng pagdaragdag ng maraming iba pang mga tampok at pinangalanan itong Bourne Again Shell (BASH).

Pangalan ng shell Taon Platform Paglalarawan Paghahambing sa BASH
Thompson Shell 1971 UNIX Limitado ang awtomatiko ng script. Ang gumagamit ay maaari lamang gumawa ng isang maliit na halaga ng scripting. Dinaig ng BASH ang mga limitasyon ng Thompson shell at maaaring isulat ng gumagamit ang malalaking script.
Bourne Shell 1977 UNIX Pinapayagan kaming magsulat at magpatakbo ng isang napakalaking halaga ng mga script. Ang Bourne Shell ay hindi nagbibigay ng editor ng utos at isang higit na bilang ng mga pasilidad sa shortcut. Nagbibigay ang BASH ng mga pagpapabuti sa disenyo kasama ang command editor.
POSIX Shell 1992 POSIX Ang POSIX Shell ay portable. Nagbibigay ito ng maraming mga shortcut at pagkontrol sa trabaho. Ang BASH ay sikat para sa pagganap ng mga gawaing iyon na hindi nangangailangan ng kakayahang dalhin.
Z Shell 1990 UNIX Ang Z Shell ay mayaman sa tampok. Ito ay isang napakalakas na shell at nagbibigay ng mga tampok tulad ng auto-pagkumpleto ng utos, pagwawasto ng spelling, at autofill. Kulang ang BASH ng ilan sa mga tampok na ibinibigay ng Z Shell.

Konklusyon

Ang BASH ay isang napakalakas na tool na nagbibigay-daan sa amin upang magpatakbo ng mga utos at script. Pinapayagan kami ng isang script na BASH na i-automate ang mga pang-araw-araw na gawain at utos. Ang isang BASH script ay isang kumbinasyon ng maraming mga utos. Nagtatapos ang BASH file sa .sh extension. Bago patakbuhin ang script ng BASH, kailangan naming i-update ang mga pahintulot ng file at kailangan naming ibigay ang maipapatupad na pahintulot sa .sh file. Ipinapaliwanag ng artikulong ito ang BASH at BASH scripting sa tulong ng mga simpleng halimbawa at mahahalagang aralin. Bukod dito, inilalarawan nito ang kasaysayan ng BASH at inihinahambing ang mga tampok nito sa iba't ibang iba pang makapangyarihang mga shell.