Umhlahlandlela wokuqala ku-BASH - I-Parameters yokufaka

Siyakwamukela engxenyeni yesibili ye-Guide Beginners kuya ku-BASH uchungechunge oluhlukile kulokho kuphela okufundiswa kwe-BASH okubhalwa ngu-Beginners for Beginners.

Abafundi balo mhlahlandlela bazokwakha ulwazi lwabo njengoba ngakha ulwazi lwami futhi ngethemba lokuthi ekugcineni konke sizokwazi ukubhala izikripthi ezihlakaniphile.

Ngesonto eledlule ngifake ukudala iskripthi sakho sokuqala esabonisa amagama athi "Sawubona Umhlaba". Ihlanganisa izihloko ezifana nabahleli bombhalo, indlela yokuvula iwindi lokugcina, lapho ungafaka khona ama-scripts akho, ukuthi ungabonisa kanjani amagama athi "Sawubona Umhlaba" namanye amaphuzu amahle kakhulu kubalingiswa bokuphunyuka njengamaphuzu ("").

Kuleli sonto ngizofaka imingcele yokufaka. Kunezinye iziqondiso ezifundisa lolu hlobo lwezinto kodwa ngizithola zixhuma kwezinye izinto eziphansi futhi zingase zinikeze ulwazi oluningi kakhulu.

Kuyini i-Parameter?

Esikhathini script "Hello World" esivela ekufundiseni kokugcina konke kwakunzima kakhulu. Isikripthi asizange senze okuningi nakakhulu.

Singahle sithuthukise kanjani kwiskripthi se- "Hello World"?

Kuthiwani ngeskripthi esibonisa umuntu ogijima? Esikhundleni sokuthi "Sawubona Umhlaba" kuzothi "Sawubona Gary", "Sawubona Tim" noma "Sawubona Dolly".

Ngaphandle kwamandla ukwamukela imingcele yokufakwayo sidinga ukubhala izikripthi ezintathu "hellogary.sh", "hellotim.sh" nethi "hellodolly.sh".

Ngokuvumela iskriphthi sethu ukufunda imingcele yokufaka singasebenzisa iskripthi esisodwa ukubingelela noma ubani.

Ukwenza lokhu uvule iwindi lokugcina (CTRL + ALT + T) futhi uvakashele kufolda yakho yeskripthi ngokuthayipha okulandelayo: ( mayelana nomyalo we-cd )

cd scripts

Dala iskripthi esisha esibizwa ngokuthi salme.sh ngokuthayipha okulandelayo: ( mayelana nomyalo wokuthinta )

thinta isibingelelo.sh

Vula iskripthi kumhleli wakho ozithandayo ngokuthayipha okulandelayo: ( mayelana nomyalo we-nano )

nano greetme.sh

Faka umbhalo olandelayo ngaphakathi kwe-nano:

#! / bin / bash echo "thola $ @"

Cindezela i-CTRL no-O ukugcina ifayela bese CTRL no-X ukuvala ifayela.

Ukusebenzisa iskripthi faka lokhu okulandelayo emgqeni wokulayisha esikhundleni segama lakho.

sh isingeniso.sh

Uma ngigijima script negama lami libonisa amagama "Sawubona Gary".

Umugqa wokuqala unomugqa we- #! / Bin / bash osetshenziselwa ukukhomba ifayela njenge-script bash.

Umzila wesibili usebenzise isitatimende se-echo ukuze usebenzise igama elithi hello bese kukhona imali engaziwa $ @ notation. ( mayelana nomyalo we-echo )

I $ @ ikhula ukuze ibonise yonke ipharamitha efakwe kanye negama leskripthi. Ngakho uma uthayiphe "isibingelelo ssh" sh "amagama" hello tim "azoboniswa. Uma uthayiphe "greetings.sh tim smith" ke amagama athi "hello tim smith" azoboniswa.

Kungase kube mnandi ngenxa yeskripthi se-greetme.sh ukuze nje usho umlayezo usebenzisa igama lokuqala. Akekho othi "hello gary newell" uma behlangana nami, bangase bathi "hello gary" noma kunjalo.

Ake sishintshe iskripthi ukuze isebenzise ipharamitha yokuqala. Vula iskripthi se-greetme.sh ku-nano ngokuthayipha okulandelayo:

nano greetme.sh

Shintsha umbhalo ukuze ufunde kanje:

#! / bin / bash echo "thola $ 1"

Londoloza iskripthi ngokucindezela i-CTRL no-O bese uphuma ngokucindezela i-CTRL no-X.

Qalisa iskripthi njengoba kuboniswe ngezansi (gcwalisa igama lami neyakho):

sh isingeniso.sh gary newell

Uma ugijima iskripthi sizovele uthi "hello gary" (noma ngethemba "hello" nanoma yiliphi igama lakho.

I-1 ngemuva kwe-symbol ye-$ ngokuyisisekelo ithi kumyalo we-echo, sebenzisa ipharamitha yokuqala. Uma ubeka i-$ 1 nge $ 2 khona-ke izobonisa "hello newell" (noma ngabe ngabe isibongo sakho siyi).

Kungenzeka ukuthi uma ususele i $ 2 nge $ 3 futhi ugijime iskripthi ngamamitha angu-2 kuphela okukhiphayo kuzoba "Sawubona".

Kungenzeka ukubonisa nokusingatha inani lemingcele empeleni langena futhi esikhathini esizayo ngizobonisa ukuthi ngisebenzisa kanjani inani lepharamitha ngenhloso yokuqinisekisa.

Ukuze ubonise inombolo yemingcele efakiwe ivule iskripthi sogubha.sh (nano greetme.sh) bese uchibiyela umbhalo kanje:

#! / bin / bash echo "ufake amagama we- $ #" u-echo "hello $ @"

Cindezela i-CTRL no-O ukugcina iskripthi ne-CTRL no-X ukuze uphume nano.

I $ # emgqeni wesibili ibonisa inombolo yemingcele efakiwe.

Kuze kube manje konke lokhu kuye kwaba inoveli kepha akusizi kakhulu. Ngubani odinga iskripthi esibonisa "hello"?

Ukusetshenziswa kwangempela kwezitatimende ze-echo ukuhlinzeka ngomkhiqizo we-verbose newusizo kumsebenzisi. Uma ungase ucabange ukuthi ufuna ukwenza into enzima okubandakanya inombolo encane ye-crunching kanye nefayili / ukuphathwa kwefolda kungasiza ukubonisa kumsebenzisi ukuthi kwenzekani isinyathelo ngasinye sendlela.

Ngokuphambene, imingcele yokufaka yenza iskripthi sakho sihlanganyele. Ngaphandle kwemingcele yokufaka ungadinga ama-scripts amaningi enza izinto ezifanayo kakhulu kodwa ngamagama ahlukile.

Ngalokhu konke engqondweni kukhona ezinye izilinganiso zokufaka eziwusizo ukuthi kuwumqondo omuhle ukwazi futhi ngizozibandakanya kuzo zonke izitayela zekhodi eyodwa.

Vula iskripthi sakho se-greetme.sh bese uyilungisa kanje:

#! / bin / bash echo "Igama lefayela: $ 0" echo "I-Process Process: $$" echo "---------------------------- --- "u-echo" ufake amagama we- $ # "u-echo" thola $ @ "

Cindezela i-CTRL no-O ukuze ugcine ifayela ne-CTRL no-X ukuze uphume.

Manje sebenzisa iskripthi (shintsha igama lakho).

sh isingeniso.sh

Lesi sikhathi script sibonisa lokhu okulandelayo:

Igama lomsebenzisi: greetme.sh ID yenkambiso: 18595 ------------------------------ ufake amagama amabili hello gary newell

I-$ 0 emgqeni wokuqala weskripthi ibonisa igama lombhalo osebenzayo. Qaphela ukuthi i-dollar zero hhayi idoli o.

I $$ emgqeni wesibili ibonisa id inqubo yeskripthi osebenzayo. Kungani lokhu kuyasiza? Uma usebenzisa iskripthi ngaphambili ungawukhansela ngokumane ucindezele i-CTRL no-C. Uma ugijima script ngemuva bese uqala ukukhipha futhi wenze into efanayo ngokuphindaphindiwe noma waqala ukulimaza ohlelweni lwakho oluzodinga ukuyibulala.

Ukubulala iskripthi egijima ngemuva kudingeka udinga inqubo yeskripthi. Ngeke yini kube kuhle uma iskriphthi inika id inqubo njengengxenye yalokho okukhiphayo. ( mayelana ne-ps nokubulala imiyalo )

Ekugcineni ngaphambi kokuthi ngiqede nalesi sihloko ngifuna ukuxoxa mayelana nokuthi ukuphuma kuhamba kuphi. Njalo uma iskriphthi isiqhubekele kuze kube manje umkhiqizo uboniswe esikrinini.

Kuyinto evamile ukukhipha iskripthi ukuthi kubhaliswe kufayela eliphumayo. Ukwenza lokhu sebenzisa iskripthi sakho kanje:

sh wamukelekile.sh gary> greetme.log

I> uphawu kumyalo ongenhla uphumelela umbhalo othi "hello gary" kwifayela elithi greetme.log.

Njalo uma ugijima iskripthi nge> uphawu it overwrites okuqukethwe ifayela okukhiphayo. Uma ungathanda ukufaka isicelo efayeleni esikhundleni salokhu> nge >>.

Isifingqo

Manje kufanele ukwazi ukubhala umbhalo esibukweni bese wamukela imingcele yokufakwayo.