Conas a Scríobh BASH "le haghaidh" Lúb

Conas an BASH a úsáid "le haghaidh" lúb i scripteanna bhlaosc

Is teanga scripteála é BASH (atá le Bourne Again Shell) a úsáideann na córais oibriúcháin is mó atá bunaithe ar Linux agus UNIX.

Is féidir leat orduithe BASH a reáchtáil laistigh d'fhuinneog críochfoirt tar éis an chinn eile nó is féidir leat na horduithe a chur le comhad téacs chun script bhlaosc a tháirgeadh.

Is é an rud iontach a bhaineann le scríbhneoireacht bhlaosc a scríobh ná gur féidir leat iad a reáchtáil arís agus arís eile. Mar shampla, shamhlú go gcaithfidh tú úsáideoir a chur le córas, a gceadanna a leagan síos agus a dtimpeallacht tosaithe a bhainistiú. Is féidir leat na horduithe a scríobh ar phíosa páipéir agus iad a reáchtáil mar a chuireann tú úsáideoirí nua ort nó is féidir leat scríbhinn amháin a scríobh agus na paraiméadair a íoc isteach sa script sin.

Tá cláir cosúil le cláir cosúil le BASH mar theangacha eile. Mar shampla, is féidir leat paraiméadair allmhairithe a úsáid chun ionchur a fháil ón méarchlár agus iad a stóráil mar athróg. Is féidir leat an script a fháil ansin chun gníomh áirithe a dhéanamh bunaithe ar luach na bparaiméadar ionchuir .

Is cuid lárnach d'aon teanga cláiríochta agus scríbhneoireachta an cumas an píosa cód céanna a reáchtáil arís agus arís eile.

Tá roinnt bealaí ann chun cód a athchruthú (ar a dtugtar lúbtaí freisin). Sa treoir seo, taispeánfar conas lúb "do" a scríobh.

Athscrúdaíonn lúb cuid áirithe den chód arís agus arís eile. Tá siad úsáideach ionas gur féidir sraith orduithe a choinneáil go dtí go gcomhlíontar coinníoll áirithe, agus ina dhiaidh sin beidh siad ag stopadh.

Sa treoir seo, taispeánfar cúig bhealach agat chun an lúb a úsáid laistigh de script BASH.

Sula dTosaithe

Sula dtosaíonn tú le samplaí lúb, caithfidh tú fuinneog críochfoirt a oscailt agus lean na céimeanna seo a leanas:

  1. Cuir isteach scripteanna mkdir ( níos mó a fhoghlaim faoi mkdir anseo )
  2. Cuir isteach scripteanna cd ( athraíonn sé seo an t-eolaire chuig na scripteanna )
  3. Iontráil nano examplen.sh (i gcás gurb é n an sampla atá tú ag obair)
  4. Cuir isteach an script
  5. Brúigh CTRL + O chun sábháil agus CTRL + X a scoir
  6. Rith bash examplen.sh (arís, le n mar an sampla a bhfuil tú ag obair leis)

Conas a Lúb Trí Liosta

#! / bin / bash
do líon i 1 2 3 4 5
a dhéanamh
macalla $ uimhir
déanta
scoir 0

Is é an bealach BASH úsáid a bhaint as "do" lúibíní ná rud éigin difriúil leis an mbealach a láimhseáil an chuid is mó de na cláir eile agus na dteanga scripteála "le haghaidh" lúb. Let's break the script síos ...

I BASH "le haghaidh" lúb go léir, déantar na ráitis idir a dhéanamh agus a dhéantar uair amháin do gach mír sa liosta.

Sa sampla thuas, is é an liosta gach rud a thagann tar éis an fhocail (ie 1 2 3 4 5).

Gach uair a eiseoidh an lúb, cuirfear an chéad luach eile sa liosta isteach san athróg atá sonraithe tar éis an fhocail "in ionad" . Sa lúb thuas, tugtar uimhir ar an athróg.

Úsáidtear an ráiteas macalla chun faisnéis a thaispeáint don scáileán.

Dá bhrí sin, glacann an sampla seo na huimhreacha 1 go 5 agus cuireann sé aschur ceann ar a chéile leis an scáileán:

Conas Lúb Idir Tosaigh agus Point Deiridh

Is é an deacracht leis an sampla thuas ná más mian leat liosta níos mó a phróiseáil (deir 1 go 500), go dtógfadh sé aois chun na huimhreacha go léir a ghiniúint sa chéad áit.

Tugann sé seo dúinn an dara sampla a léiríonn conas pointe tosaigh agus deireadh a shonrú:

#! / bin / bash
le haghaidh uimhir i {1..10}
a dhéanamh
macalla "$ number"
déanta
scoir 0

Tá na rialacha go bunúsach mar an gcéanna. Comhlánaíonn na luachanna tar éis an fhocail " in" an liosta a atreorú trí agus cuirfear gach luach sa liosta san athróg (ie uimhir), agus gach uair a rachaidh an lúb isteach, déantar na ráitis idir déanamh agus déanamh .

Is é an príomhdhifríocht ná an bealach a dhéantar an liosta. Is ionann na lúibíní coilíneacha {} go bunúsach ar raon, agus an raon, sa chás seo, tá 1 go 10 (an dá phointe ar leith ag tús agus deireadh raon).

Ritheann an sampla seo, dá bhrí sin, trí gach uimhir idir 1 agus 10 agus aschuir sé an uimhir go dtí an scáileán mar seo a leanas:

D'fhéadfaí an lúb céanna a scríobh mar seo, le comhréir mar an gcéanna leis an gcéad shampla:

do líon i 1 2 3 4 5 6 7 8 9 10

Conas Scipeáil Uimhreacha i Réimse

Léirigh an sampla roimhe seo conas lúb idir pointe tosaigh agus críochnaithe, agus mar sin déanfaimid breathnú ar an gcaoi a n-éireofar le huimhreacha sa réimse.

Samhlaigh gur mhaith leat lúb idir 0 agus 100 ach ní léiríonn ach gach deichiú uimhir. Léiríonn an script seo a leanas conas é sin a dhéanamh:

#! / bin / bash
le haghaidh uimhir i {0..100..10}
a dhéanamh
macalla "$ number"
déanta
scoir 0

Tá na rialacha go bunúsach mar an gcéanna. Tá liosta, athróg, agus sraith ráitis le déanamh idir déanamh agus déanta . Is cosúil an liosta seo an uair seo: {0..100..10}.

Is é 0 an chéad uimhir agus is é 100% an líon deiridh. Is é an tríú uimhir (10) ná líon na n-ítimí sa liosta a skipfidh sé.

Taispeánann an sampla thuas, mar sin, an t-aschur seo a leanas:

Lúb Ag Breathnú Níos Traidisiúnta

Is beagán aisteach é an bealach BASH scríofa le haghaidh lúb i gcomparáid le teangacha cláir eile.

Is féidir leat, áfach, scríobh le haghaidh lúb i stíl cosúil leis an teanga cláircháin C, mar seo:

#! / bin / bash
le haghaidh ((uimhir = 1; uimhir <100; uimhir ++))
{
más rud é (($ uimhir% 5 == 0))
ansin
macalla "Tá $ $ inroinnte ag 5"
fi
}
scoir 0

Tosaíonn an lúb tríd an uimhir athróg a leagan síos go 1 (uimhir = 1 ). Coinneoidh an lúb é ag an am céanna cé go bhfuil luach líon níos lú ná 100 ( uimhir <100 ). Athruithe ar líon na n- uimhir trí 1 a chur leis tar éis gach athrála ( uimhir ++ ).

Déantar gach rud idir na bracáin chuaird trí gach scaoileadh an lúb.

Seiceann an giotán idir na braces luach uimhir , roinn sé faoi 5, agus déanann sé an chuid eile a chomparáid le 0. Má tá an chuid eile 0 ansin tá an uimhir inghlactha ag 5 agus ansin taispeántar é ar an scáileán.

Mar shampla:

Más mian leat méid céim an athráin a athrú, is féidir leat an uimhir uimhir ++ a leasú mar uimhir = uimhir + 2 , uimhir = uimhir + 5 , nó uimhir = uimhir + 10 etc.

Is féidir é seo a laghdú go dtí uimhir + = 2uimhir + = 5 .

Sampla Praiticiúil

Is féidir le lúb níos mó ná liostaí uimhreacha a éascú. Is féidir leat aschur orduithe eile a úsáid mar an liosta.

Léiríonn an sampla seo a leanas conas comhaid fuaime a thiontú ó MP3 go WAV :

#! / bin / bash

Is é an liosta sa sampla seo gach comhad leis an síneadh .MP3 sa fhillteán reatha agus is comhad an t-athróg.

Déanann an t-ordú mpg an comhad MP3 a thiontú isteach i WAV. Mar sin féin, is dócha go gcaithfidh tú é seo a shuiteáil ag baint úsáide as do bhainisteoir pacáiste ar dtús