Buku loyamba kwa BASH - Gawo 1 - Hello World

Pali zitsogozo zambiri pa intaneti zomwe zikuwonetsera momwe mungapangire zikalata zolembera pogwiritsa ntchito BASH ndipo bukuli likuwunikira kupereka mosiyana pang'ono chifukwa chalembedwa ndi wina yemwe ali ndi zolemba zambiri zolemba.

Tsopano mungaganize kuti ichi ndi lingaliro lopusa koma ndikupeza kuti malangizo ena amakuuzani ngati kuti muli kale katswiri komanso malangizo ena amatenga nthawi yaitali kuti muthamangitse.

Ngakhale kuti zolemba zanga za LINUX / UNIX ndi zochepa, ndine wogwiritsa ntchito mapulogalamu ndi malonda ndipo ndine dzanja lolemba pazinenero monga PERL, PHP ndi VBScript.

Mfundo ya ndondomekoyi ndi yakuti mudzaphunzira pamene ndikuphunzira komanso zomwe ndikudziƔa ndikupatsani.

Kuyambapo

Pali zoonekeratu kuti ndikhoza kukupatsani nthawi yomweyo monga kufotokozera mitundu yosiyanasiyana ya chipolopolo ndi ubwino wogwiritsa ntchito BASH pa KSH ndi CSH.

Anthu ambiri akamaphunzira chinachake chatsopano akufuna kulumphira ndikuyamba ndi maphunziro othandiza poyamba komanso ndikumaganiza kuti sindingakubwezeretseni zinthu zomwe si zofunika pakalipano.

Zonse zomwe mukufunikira kuti muthe kutsata ndondomekoyi ndi mkonzi wa malemba ndi malo otsiriza omwe akuyendetsa BASH (chipolopolo chosasinthika pamagawo ambiri a Linux).

Olemba Malemba

Ndondomeko zina zomwe ndawerenga zasonyeza kuti mukufunikira mkonzi wa malemba omwe akuphatikizapo malamulo olembera malamulo ndi olemba omwe akulimbikitsidwa mwina VIM kapena EMACS .

Kujambula zithunzi kumakhala kokongola pamene kumapereka malamulo pamene mukuwasankha koma kuti mukhale oyamba mumatha kuwerenga masabata angapo akuphunzira VIM ndi EMACS popanda kulemba mzere umodzi wa code.

Pa awiri omwe ndimakonda EMACS koma kukhala woona mtima ndimakonda kugwiritsa ntchito mkonzi wosavuta monga nano , gedit kapena leafpad.

Ngati mukulemba zolemba pa kompyuta yanu ndipo mumadziwa kuti nthawi zonse mutha kukhala ndi malo ojambula bwino omwe mungasankhe mkonzi omwe amakupindulitsani inu komanso akhoza kukhala ojambula monga Editor kapena editor yomwe imayendetsa kumapeto. monga nano kapena vim.

Zolinga zazitsogolelizi ndikugwiritsa ntchito nano poyikamo natively pazinthu zambiri za Linux ndipo ndizotheka kuti mutha kuzipeza.

Kutsegula A Window Terminal

Ngati mukugwiritsa ntchito Linux distribution ndi desktop graphic monga Linux Mint kapena Ubuntu mukhoza kutsegula wotsegula mawindo mwa kukanikiza CTRL + ALT + T.

Kumene Mungaike Malemba Anu

Kwa cholinga cha phunziro ili mukhoza kuika malemba anu mu foda pansi pa foda yanu.

Muzenera yowonongeka onetsetsani kuti muli mu foda yanu polemba lamulo lotsatira:

cd ~

Lamulo la cd likuyimira zosinthika komanso tilde (~) ndi njira yothetsera foda yanu.

Mukhoza kuwona kuti muli pamalo oyenera polemba lamulo lotsatira:

pwd

Lamulo la pwd lidzakuuzani malonda anu omwe mukugwira nawo ntchito (komwe muli m'ndandanda). Pa ine ndinabwerera / kunyumba / gary.

Tsopano mwachiwonekere simukufuna kuika zolemba zanu molunjika mu foda yam'nyumba kotero kulenga foda yotchedwa malemba polemba lamulo lotsatira.

makdir malemba

Sinthani foda yatsopanoyi polemba lamulo lotsatira:

cd scripts

Your First Script

NdizozoloƔera pamene kuphunzira momwe mungakonzere kupanga pulogalamu yoyamba kungopereka mawu akuti "Moni Wadziko".

Kuchokera mkati mwa foda yanu yalembalo lowetsani lamulo lotsatira:

nano helloworld.sh

Tsopano lowetsani ma code otsatirawa pawindo la nano.

#! / bin / bash ndi "hello world"

Dinani CTRL + O kuti muzisunga fayilo ndi CTRL + X kuti mutuluke nano.

Script yokhayo inapangidwa motere:

The #! / Bin / bash amafunika kuphatikizidwa pamwamba pa malemba onse omwe mumalemba omwe amalola omasulira ndi mawonekedwe ogwiritsira ntchito momwe angagwiritsire ntchito fayilo. Kungoti kumbukirani kuti muiyike ndikuiwala chifukwa chake mukuchita.

Mzere wachiwiri uli ndi lamulo limodzi lomwe limatchedwa echo lomwe limatulutsa mawu omwe amatsatira mwamsanga.

Onani kuti ngati mukufuna kufotokoza mawu amodzi, muyenera kugwiritsa ntchito malemba awiri (") pozungulira mawu.

Mukutha tsopano kuthamanga script polemba lamulo lotsatira:

sh helloworld.sh

Mawu oti "dziko la hello" ayenera kuoneka.

Njira yina yogwiritsira ntchito malemba ndi awa:

./helloworld.sh

Mwaiwo ndi kuti ngati mutayendetsa lamulolo mumalo osungira nthawi yomweyo mudzapeza zolakwika.

Kupatsa zilolezo zogwiritsira ntchito script ndikulemba zotsatirazi:

sudo chmod + x helloworld.sh

Kotero nchiani kwenikweni chinachitika kumeneko? Chifukwa chiyani munatha kuthamanga helloworld.sh popanda kusintha zilolezo koma muthamanga ./helloworld.sh munayambitsa vuto?

Njira yoyamba imasenza wotanthauzira bash omwe amatenga mthunzi wachitsulo monga chithandizo ndikupanga chochita ndi izo. Wamasulira wotanthauzira kale ali ndi zilolezo zothamanga ndipo akungoyenera kuthamanga malamulo mu script.

Njira yachiwiri imalola kayendetsedwe ka ntchito kuti adziwe zoyenera kuchita ndi script ndipo motero imafuna pang'ono kuchitidwa kuti ikwaniritse.

Zomwe zili pamwambapa zinali zabwino koma chimachitika nchiyani ngati mukufuna kusonyeza zizindikirozo?

Pali njira zosiyanasiyana zopindulira izi. Mwachitsanzo mungathe kubwezeretsa mmbuyo musanayambe ndondomekoyi:

lembani \ "moni wadziko \"

Izi zidzatulutsa zotsatira za "moni wadziko".

Komabe, dikirani miniti, nanga bwanji ngati mukufuna kuwonetsa \ "moni wadziko \"?

Chabwino mutha kuthawa anthu omwe akuthawa

lembani \\ "\" moni dziko \\ "\"

Izi zidzabweretsa zotsatira "\" mlanduwo ".

Tsopano ndikudziwa zomwe mukuganiza. Koma ndikufunadi kuwonetsa \\ "\" moni dziko \\ "\"

Kugwiritsa ntchito echo ndi anthu onse opulumukawa akhoza kukhala opanda nzeru. Pali njira ina yomwe mungagwiritsire ntchito yotchedwa printf.

Mwachitsanzo:

printf '% s \ n' '\\ "\" moni dziko \\ "\"'

Onani kuti malemba omwe tikufuna kuwonekera ali pakati pa ndemanga imodzi. The printf command amachokera malemba kuchokera script yanu. % S imatanthawuza kuti iwonetsa chingwe, \ n zotsatira za mzere watsopano.

Chidule

Sitikudziwa kwenikweni mbali imodzi koma tikuyembekeza kuti muli ndi script yoyamba ikugwira ntchito.

M'gawo lotsatira tidzakhala tikuyang'ana kusintha pa script ya padziko lapansi kuti tiwonetse malemba mumitundu yosiyanasiyana, kuvomereza ndikugwiritsira ntchito magawo olowera, zolemba ndi ndemanga yanu.