Fáilte go dtí an dara cuid den tsraith Tosaitheoirí Guide to BASH atá uathúil mar gurb é an t-aon teagaisc BASH atá scríofa ag bunleibhéal do thosaitheoirí.
Déanfaidh léitheoirí an treoir seo a gcuid eolais a thógáil agus mé ag cur suas mo chuid eolais agus táthar ag súil go mbeidh muid in ann scríobh scripteanna a dhéanamh go cothrom le deireadh.
An tseachtain seo caite chlúdaigh mé a chruthú do chéad script a léirigh ach na focail "Hello World". Clúdaíonn sé ábhair ar nós eagarthóirí téacs, conas fuinneog críochfoirt a oscailt, cá háit le do chuid scripteanna a chur ar fáil, conas na focail "Hello World" a thaispeáint agus roinnt pointí níos measa ar charachtair éalaithe cosúil le Sleachta ("").
An tseachtain seo táim ag plé le paraiméadair ionchuir. Tá treoracha eile ann a mhúineann an saghas rud seo ach táim ag teacht isteach i roinnt rudaí ar leibhéal íseal agus b'fhéidir go gcuirfí an iomarca eolais ar fáil.
Cad is Páiméadar ann?
Sa script "Hello World" as an teagasc teagaisc dheireanach, bhí sé an-statach. Ní raibh an script i bhfad i ndáiríre.
Conas is féidir linn feabhas a chur ar an script "Hello World"?
Cad mar gheall ar script a mhaireann an duine a ritheann é? In ionad "Dia duit Domhanda" a rá, deir sé "Dia duit Gary", "Hello Tim" nó "Hello Dolly".
Gan an cumas glacadh le paraiméadair ionchuir, ní mór dúinn trí script a scríobh "hellogary.sh", "hellotim.sh" agus "hellodolly.sh".
Trí chead a thabhairt dár script chun paraiméadair ionchuir a léamh, is féidir linn script amháin a úsáid chun aon duine a bheannú.
Chun seo a dhéanamh oscail fuinneog teirminéil (CTRL + ALT + T) agus foláir do fhillteán scripteanna tríd an méid seo a leanas a chlóscríobh: ( faoi ordú cd )
scripteanna cdCruthaigh script nua ar a dtugtar greetme.sh ag clóscríobh na nithe seo a leanas: ( faoi ordú dteagmháil )
teagmháil greetme.shOscail an script i d'eagarthóir is fearr leat tríd an méid seo a leanas a chlóscríobh: ( faoi ordú nano )
nao greetme.shCuir isteach an téacs seo a leanas laistigh de nano:
#! / bin / bash echo "hello $ @"Brúigh CTRL agus O chun an comhad a shábháil agus CTRL agus X ansin an comhad a dhúnadh.
Chun an script a reáchtáil, cuir isteach an méid seo a leanas isteach sa líne orduithe ag athsholáthar d'ainm.
sh greetme.shMá reáchtáiltear an script le mo ainm taispeánann sé na focail "Hello Gary".
Tá an líne #! / Bin / bash ar an gcéad líne a úsáidtear chun an comhad a aithint mar script bash.
Úsáideann an dara líne an ráiteas macalla chun an focal hello a mhacasamhlú agus ansin tá an nóta $ @ notation ann. ( faoi ordú macalla )
Leathnaíonn $ @ $ chun gach paraiméadar a taifeadadh chomh maith leis an ainm script a thaispeáint. Mar sin, má chlóscríobh tú "sh greetme.sh tim" taispeántar na focail "hello tim". Má chlóscríobh tú "greetme.sh tim smith" ansin taispeántar na focail "hello tim smith".
D'fhéadfadh sé go mbeadh sé deas don script greetme.sh a rá go díreach ag baint úsáide as an chéad ainm. Ní deir aon duine "hello gary newell" nuair a bhuaileann siad liom, áfach, d'fhéadfadh siad "hello gary" a rá.
Athraigh an script ionas go n-úsáideann sé ach an chéad pharaiméadar. Oscail an script greetme.sh in nano ag clóscríobh na nithe seo a leanas:
nao greetme.shAthraigh an script ionas go léireoidh sé mar seo a leanas:
#! / bin / bash echo "hello $ 1"Sábháil an script trí CTRL agus O a bhrú agus ansin scoir trí CTRL agus X a bhrú.
Rith an script mar a thaispeántar thíos (cuir mo ainm in áit liom):
sh greetme.sh gary newellNuair a reáchtálann tú an script, déanfaidh sé ach "hello gary" (nó tá súil agam "hello" agus is cuma cad é d'ainm.
Deir an 1 tar éis an tsiombail $ go bunúsach leis an gceannas macalla, bain úsáid as an gcéad pharaiméadar. Má athraíonn tú $ 1 le $ 2 ansin taispeánfadh sé "hello newell" (nó is cuma cad é do shloinne).
Teagmhasach má d'áitigh tú $ 2 le $ 3 agus rith an script le 2 pharaiméadar, ní bheadh an t-aschur ach "Dia duit".
Is féidir an líon paraiméadair a iontráil i ndáiríre a thaispeáint agus a láimhseáil agus i ranganna teagaisc ina dhiaidh sin beidh mé ag léiriú conas an comhaireamh paraiméadar a úsáid chun críocha bailíochtaithe.
Chun an líon paraiméadair a thaispeántar a thaispeáint, oscail an script greetme.sh (nano greetme.sh) agus leasóidh sé an téacs mar seo a leanas:
#! / bin / bash echo "iontráil tú $ # names" macalla "hello $ @"Brúigh CTRL agus O chun an script agus CTRL agus X a shábháil chun nano a scoir.
Taispeánann an $ # ar an 2ú líne líon na bparaiméadar isteach.
Go dtí seo, bhí an t-ábhar nua seo uile ach níl sé an-úsáideach. Cé a theastaíonn script a thaispeánann "hello" go simplí?
Is é an fíor-úsáid a bhaineann le ráitis macalla ná aschur focal agus aschur brí a chur ar fáil don úsáideoir. Más féidir leat a shamhlú go bhfuil tú ag iarraidh rud éigin a dhéanamh casta ina bhfuil roinnt crónna tromchúiseacha agus ionramháil comhad / fillteán, bheadh sé úsáideach an méid atá ag tarlú ar gach céim den bhealach a thaispeáint don úsáideoir.
I gcodarsnacht leis sin, déanann paraiméadair ionchuir do script idirghníomhach. Gan na paraiméadair ionchuir, bheadh ort go leor de na scripteanna go léir ag déanamh rudaí an-chosúil ach le hainmneacha beagán difriúla.
Agus é seo go léir i gcuimhne tá roinnt paraiméadair ionchuir úsáideacha eile ann gur smaoineamh maith é a bheith in ann agus cuirfidh mé iad uile i bhfód amháin ar chód.
Oscail do script greetme.sh agus leasú é mar seo a leanas:
#! / bin / bash echo "Ainm comhaid: $ 0" macalla "ID Próiseas: $$" macalla "---------------------------- --- "macalla" d'iontráil tú $ #ainmneacha "macalla" Dia duit $ @ "Brúigh CTRL agus O chun an comhad a shábháil agus CTRL agus X a fhágáil.
Anois Rith an script (cuir d'ainm in áit).
sh greetme.shAn uair seo taispeánann an script an méid seo a leanas:
Ainm comhaid: greetme.sh Próiseas Aitheantais: 18595 ------------------------------ chuir tú 2 ainm isteach Dia duit gary newellTaispeánann an $ 0 ar chéad líne an script ainm an script atá á reáchtáil agat. Tabhair faoi deara gurb é an dollar ná nialas ná an dollar ná.
Taispeánann an $ $ ar an dara líne próiseas an script atá á reáchtáil agat. Cén fáth a bhfuil sé seo úsáideach? Má tá tú ag rith script sa tulra, is féidir leat é a chealú trí CTRL agus C. a chur ar ceal má rinne tú an script sa chúlra agus thosaigh sé ag déanamh looping agus ag déanamh an rud céanna thar agus os a chionn nó a d'fhéadfadh damáiste a dhéanamh do chóras a bheadh uait a mharú.
Chun script a mharú atá á reáchtáil sa chúlra, is gá duit próiseas an script. Ní bheadh sé go maith má thug an script an próiseas mar chuid dá aschur. ( faoi ps agus orduithe a mharú )
Ar deireadh sula n-éireoidh mé leis an ábhar seo bhíim ag iarraidh plé a dhéanamh faoin áit a dtéann an t-aschur. Gach uair a reáchtáil an script go dtí seo tá an t-aschur curtha ar taispeáint ar an scáileán.
Is coitianta é go n-éireodh aschur na scripte chuig comhad aschuir. Chun seo a dhéanamh, reáchtáil do script mar seo a leanas:
sh greetme.sh gary> greetme.logCuireann an siombail sa ordú thuas an téacs "hello gary" chuig comhad darb ainm greetme.log.
Gach uair a reáchtálann tú an script leis an siombail> déanann sé an t-ábhar ar an gcomhad aschuir a athscríobh. Más fearr leat an comhad a chur leis an> comhad a chur in ionad> le >>.
Achoimre
Ba cheart duit anois téacs a scríobh chuig an scáileán agus glacadh le paraiméadair ionchuir.