Tùs Luchd-tòiseachaidh gu BASH - Coimeasgairean

Fàilte don dàrna pàirt den t-sreath Tùs Luchd-tòiseachaidh gu BASH a tha sònraichte oir is e seo an aon oideachadh BASH a sgrìobh neach-tòiseachaidh do luchd-tòiseachaidh.

Togaidh luchd-leughaidh an iùl seo an cuid eòlais fhad 's a bhios mi a' togail suas m 'eòlais agus ma tha sinn an dòchas gum bi e comasach dhuinn sgriobtaichean a tha gu math tarraingeach a sgrìobhadh.

An t-seachdain seo chaidh tha mi a 'còmhdach a' cruthachadh a 'chiad sgriobt agad a sheallas na faclan "Hello World". Tha e a 'gabhail a-steach cuspairean mar luchd-deasachaidh teacsa, mar a chumas tu uinneag deireannach, far am faod thu na sgriobtaichean agad a chur air dòigh, mar a sheallas tu na faclan "Hello World" agus cuid de phuingean nas fèarr air caractaran teiche mar luachan ("").

An t-seachdain seo tha mi a 'dol a chòmhdach a' pharaimearan inntrigidh. Tha treòrachadh eile ann a tha a 'teagasg an seòrsa rud seo ach tha mi a' lorg gu bheil iad a 'leum gu rud gu ìre ìseal agus is dòcha gu bheil iad a' toirt seachad tòrr fiosrachaidh.

Dè a th 'ann am paramadair?

Anns an sgriobt "Hello World" bhon oideachadh mu dheireadh bha e uile gu math statach. Cha robh an sgriobt a 'dèanamh mòran idir idir.

Ciamar as urrainn dhuinn leasachadh a dhèanamh air an sgriobt "Hello World"?

Dè mu dheidhinn sgriobt a tha a 'faireachdainn don neach a tha ga ruith? An àite "Hello World" a ràdh, their e "Hello Gary", "Hello Tim" no "Hello Dolly".

Às aonais a 'chomas a bhith a' gabhail a-steach pharaimearan cuiridh, dh'fheumadh sinn trì sgriobtaichean "hellogary.sh", "hellotim.sh" agus "hellodolly.sh" a sgrìobhadh.

Le bhith a 'leigeil le ar sgriobt teacsaichean inntrigidh a leughadh, is urrainn dhuinn aon sgriobt a chleachdadh airson duine a chòrdachadh.

Gus seo a dhèanamh fosgail uinneag deireannach (CTRL + ALT + T) agus seòladh chun phasgan sgriobta le bhith a 'sgrìobhadh na leanas: ( mu dheidhinn cd command )

cd scripts

Cruthaich sgriobt ùr ris an canar greetme.sh le bhith a 'sgrìobhadh na leanas: ( mu dheidhinn touch command )

cuir fios gu greetme.sh

Fosgail an sgriopt anns an fhear-deasachaidh as fheàrr leat le bhith a 'sgrìobhadh na leanas: ( mu dheidhinn nano command )

sgaoileadh

Cuir a-steach an teacs a leanas taobh a-staigh nano:

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

Brùth CTRL agus O airson an fhaidhle a shàbhaladh agus an uairsin CTRL agus X gus an fhaidhle a dhùnadh.

Gus ruith an sgriobt, cuir a-steach na leanas a-steach don loidhne-àithne a 'cuir àite ris an ainm agad.

s an Ear-Thuath

Ma ruith mi an sgriopt le mo ainm tha e a 'sealltainn na faclan "Hello Gary".

Tha an loidhne #! / Bin / bash air a 'chiad loidhne a tha air a chleachdadh gus am faidhle aithneachadh mar sgriobt bash.

Bidh an dàrna loidhne a 'cleachdadh an aithris mac-samhail gus am facal hello a chleachdadh agus an uairsin tha an not $ $ neònach. ( mu òrdugh echo )

Tha $ $ a 'leudachadh airson gach paramadair a chaidh a chur a-steach còmhla ris an ainm sgriobt. Mar sin, ma tha thu a 'sgrìobhadh "sh greetme.sh tim" bhiodh na faclan "hello tim" air an taisbeanadh. Nan sgrìobh thu "greetme.sh tim smith" an uairsin bhiodh na faclan "hello tim smith" air an taisbeanadh.

Dh'fhaodadh e a bhith math airson an script greetme.sh airson dìreach a ràdh le bhith a 'cleachdadh dìreach a' chiad ainm. Chan eil duine ag ràdh "hello gary newell" nuair a choinnicheas iad rium, is dòcha gu bheil iad ag ràdh "hello gary".

Feuch an atharraich sinn an sgriobt gus am bi e dìreach a 'cleachdadh a' chiad paramadair. Fosgail suas an sgriobt greetme.sh ann an nano le bhith a 'sgrìobhadh na leanas:

sgaoileadh

Atharraich an sgriobt gus am bi e mar a leanas:

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

Sàbhail an sgriobt le putadh air CTRL agus O agus an uair sin falbh le bhith a 'putadh CTRL agus X.

Rach an sgriobt mar a th 'air a shealltainn gu h-ìosal (cuir an àite m' ainm leat)

s an Iar-

Nuair a ruith thu an sgriobt, bidh e dìreach ag ràdh "hello gary" (no an dòchas "hello" agus dè an t-ainm a tha agad.

Tha an 1 às deidh a 'chomharra $ gu h-àbhaisteach ag ràdh ris an òrdugh echo, cleachd a' chiad paramadair. Ma chuireas tu an $ 1 le $ 2 an àite, nochdaidh e "hello newell" (no ge bith dè an sloinneadh agad).

Gun teagamh ma chuir thu an $ 2 an àite $ 3 agus ruith an sgriobt le dìreach 2 pharamatar, bhiodh an toradh dìreach "Hello".

Tha e comasach an àireamh de pharaimearan a chaidh a thoirt a-steach a thaisbeanadh agus a làimhseachadh agus ann an clasaichean nas fhaide air adhart bidh mi a 'sealltainn mar a chleachdas tu am cunntas paramadair airson adhbharan dearbhaidh.

Gus an àireamh de pharaimirean a chaidh a thaisbeanadh a thaisbeanadh, fosgail an script greetme.sh (nano greetme.sh) agus atharraich an teacsa mar a leanas:

#! / bin / bash echo "chuir thu a-steach $ $ names" echo "hello $ @"

Brùth CTRL agus O gus an sgriobt agus CTRL agus X a shàbhaladh gus naoidhean fhàgail.

Tha an $ # air an 2na loidhne a 'sealltainn na h-àireamhan de pharaimearan a chaidh a chur a-steach.

Gu ruige seo tha a h-uile càil air a bhith na nobhail ach chan eil e gu math feumail. Cò a dh'fheumas sgriobt a tha dìreach a 'taisbeanadh "hello"?

Is e an fhìor chleachdadh airson aithrisean mac-meanm a bhith a 'toirt seachad gnìomhair agus toradh brìoghmhor don neach-cleachdaidh. Ma tha thu a 'smaoineachadh gu bheil thu airson rudeigin a dhèanamh cho duilich a tha a' toirt a-steach cuid de dh 'àireamh mhòr de dhuilgheadasan agus a bhith a' làimhseachadh faidhlichean / pasgan, bhiodh e feumail an taisbeanadh a thoirt don neach-cleachdaidh dè a tha a 'tachairt gach ceum den t-slighe.

An coimeas ri sin, bidh paramadairean inntrigidh a 'dèanamh do sgriobt eadar-ghnìomhach. Às aonais parameters ionmhais bhiodh feum agad air mòran de sgriobtaichean a 'dèanamh rudan glè choltach ach le ainmean beagan eadar-dhealaichte.

Leis a h-uile càil seo ann an cuimhne, tha cuid de chuimsean feumail feumail ann a tha e na dheagh bheachd a bhith agad agus cuiridh mi iad uile ann an aon chòd còd.

Fosgail an sgriobt greetme.sh agus atharraich e mar a leanas:

#! / bin / bash echo "Ainm-faidhle: $ 0" echo "Pròiseas ID: $$" echo "---------------------------- --- "echo" chaidh thu a-steach $ $ names "mac-samhail" hello $ @ "

Brùth CTRL agus O gus an fhaidhle a shàbhaladh agus CTRL agus X gus fàgail.

A-nis ruith an script (cuir an t-ainm agad an àite).

s an Ear-Thuath

An turas seo tha an sgriobt a 'taisbeanadh na leanas:

Ainm-teacsa: greetme.sh Pròiseas ID: 18595 ------------------------------ chuir thu a-steach 2 ainm hello gary newell

Tha an $ 0 air a 'chiad loidhne den sgriobt a' sealltainn ainm na sgriobt a tha thu a 'ruith. Thoir fa-near gur e zero dolar a th 'ann agus chan eil e na dolar.

Tha an $$ air an dàrna loidhne a 'sealltainn pròiseas id den sgriobt a tha thu a' ruith. Carson a tha seo feumail? Ma tha thu a 'ruith sgriobt air a' bheulaibh, faodaidh tu a chuir dheth le bhith a 'bruthadh air CTRL agus C. Ma ruith thu an sgriobt sa chùl-raon agus thòisich e a' gluasad agus a 'dèanamh an aon rud thairis air no a-rithist no gun do thòisich e air cron a dhèanamh air an t-siostam a dh' fheumadh tu gus a mharbhadh.

Gus sgriobt a 'ruith sa chùlaibh a mharbhadh feumaidh tu pròiseas an sgriobt. Nach biodh e math nam biodh an sgriobt a 'toirt seachad an ID pròiseas mar phàirt den toradh aice. ( mu dheidhinn òrdughan ps agus marbhadh )

Mu dheireadh mus crìochnaich mi leis a 'chuspair seo bha mi airson bruidhinn mu dheidhinn far a bheil an toradh a' dol. Gach turas a ruith an sgriobt gu ruige seo tha an toradh air a bhith air a thaisbeanadh air an sgrion.

Tha e gu math cumanta airson toradh sgriobta a bhith air a sgrìobhadh gu faidhle toraidh. Gus seo a dhèanamh ruith do sgriobt mar a leanas:

s an Ear-Thuath

Tha an> samhla san òrdugh gu h-àrd a 'toirt a-mach an teacsa "hello gary" gu faidhle ris an canar greetme.log.

Gach turas a ruith thu an script leis a 'chomharra> tha e a' sgrìobhadh thairis air susbaint an fhaidhle toraidh. Nam b 'fheàrr leat cuir ris an fhaidhle cuir an> còmhla >> an àite.

Geàrr-chunntas

Bu chòir dhut a-nis a bhith comasach air teacsa a sgrìobhadh chun an sgrion agus a bhith a 'gabhail ri paramedr inntrigidh.