Foghlaim Conas a Rith Suhells Rith go Suí ag Úsáid Scripteanna Bash

Conas Treoirlínte a threorú chun Rith i gcomhthreomhar sa chúlra

Is comhéadan bunúsach é blaosc le horduithe a chur isteach ar chóras Linux. Leis, is féidir leat comhad a chur isteach go díreach nó comhad (script) a shonrú ina bhfuil seicheamh orduithe le cur i bhfeidhm. Eagraítear sceallaí in ordlathas, agus féadann aon bhlaosc blaosc nua a chruthú. Meastar gur próiseas leanbh é an bhlaosc nua - síntiús den bhlaosc tuismitheoir a chruthaíonn sé.

De réir réamhshocraithe, tá subshell ag brath ar a tuismitheoir sa chiall má chríochnaíonn an próiseas tuismitheora, go dtiocfaidh deireadh leis an bpróiseas. Déantar aon aschur a rith ón subshell go dtí an tuismitheoir.

Conas Subshell a chruthú

I script bhlaosc bash, cruthaíonn tú foillleán ag baint úsáide as an nóta tuismitheora:

#! / bin / bash macalla "Sula dtosóidh sí" (count = 1) agus [$ count -le 99] an macalla "$ count" codlata 1 ((comhaireamh ++)) déanta "macalla" Críochnaithe "Críochnaithe"

Sa sampla, cuirtear an lúb ar fad i lúbáin, rud a chiallaíonn go ndéanfar é a fhorghníomhú i bhfollán an bhlaosc ina ndéantar an comhad script a fhorghníomhú.

Rothaí a Fhorbairt sa chúlra

Mura sonrófar duit go bhfuil an subshell le forghníomhú sa chúlra, fanann an tuismitheoir bhlaosc don chnaoibhneán a chríochnú sula leanann sé le cuid eile den script. Mar sin féin, má theastaíonn uait cothabhálacha a reáchtáil go comhthreomhar, reáchtálann tú iad sa chúlra, rud a dhéantar i gcrích leis an gcarachtar an t-ampersand tar éis an léirmhíniú subshell, mar atá léirithe anseo:

#! / bin / bash echo "Sula dtosaíonn tú ar" subshell "(count = 1 agus [$ count -le 99] macalla" $ count "codlata 1 ((comhaireamh ++)) agus macalla" Críochnaithe "

Rith Ilchlóracha Illeibhéil i gcomhthreomhar

Má chruthaíonn tú foinsí éagsúla mar phróisis chúlra, is féidir leat tascanna a reáchtáil go comhthreomhar. De ghnáth, úsáideann an córas oibriúcháin próiseálaithe nó córais éagsúla do gach próiseas agus fo-phróiseáil, ag glacadh leis go bhfuil a lán próiseálaithe nó córais ar a laghad de réir mar a bhíonn próisis ann. Seachas sin, déantar tascanna a shannadh do na próiseálaithe céanna nó do na córais céanna. Sa chás sin, athraíonn an próiseálaí nó an croílár go leanúnach idir na tascanna a shanntar go dtí go gcuirfear na tascanna i gcrích. Tá dhá fhophróiseáil sa chéad shampla eile. Bíonn an chéad cheann ó 1 go 99, agus an dara ceann ó 1000 go 1099.

#! / bin / bash macalla "Sula dtosóidh tú subshell" (comhaireamh = 1 agus [$ count -le 99] macalla "$ count" codlata 1 ((comhaireamh ++)) agus (comhaireamh = 1000 agus [$ count -le 1099] déan macalla "$ count" codlata 1 ((comhaireamh ++)) déanta agus macalla "Críochnaithe"

Bain úsáid as an ráiteas fanacht chun an próiseas tuismitheora a insint chun fanacht ar na fillteáin a chríochnú sular leanfaidh siad leis an gcuid eile den script:

#! / bin / bash macalla "Sula dtosóidh tú subshell" (comhaireamh = 1 agus [$ count -le 99] macalla "$ count" codlata 1 ((comhaireamh ++)) agus (comhaireamh = 1000 agus [$ count -le 1099] déan macalla "$ count" codlata 1 ((comhaireamh ++)) a rinneadh) agus fanacht macalla "Críochnaithe"

Úsáidí le haghaidh Subshells

Tá cothabhálacha úsáideach nuair is gá orduithe a fhorghníomhú i dtimpeallacht nó eolaire áirithe. Má dhéantar gach ordú a fhorghníomhú i sraitheanna éagsúla, níl aon baol ann go ndéanfar socruithe athraitheach a mheascadh. Nuair atá sé críochnaithe, ní gá na socruithe agus an t-eolaire reatha a athchóiriú, toisc nach ndéanann aon cheann dá bhfróchróisí difear do thimpeallacht an phróisis tuismitheora.

Is féidir úsáid a bhaint as subshells i sainmhínithe feidhm ionas gur féidir iad a fhorghníomhú go minic le paraiméadair éagsúla.