01 de 08
Tosaitheoirí Treoir Chun BASH - Ag Comparáid Rudaí
Sa chuid roimhe seo den teagasc BASH, d'fhéachomar ar ráitis choinníollach .
Bhí an treoir sin an-fhada ach níor léirigh sé ach conas sreabhadh an loighic a rialú. Léiríonn an treoir seo na bealaí éagsúla inar féidir leat athróga a chur i gcomparáid.
Taispeánann an íomhá thuas an chéad shampla i dtreoir na seachtaine seo:
#! / bin / bash
ainm1 = "gary"
ainm2 = "bob"más rud é ["$ name1" = "$ name2"]
ansin
macalla "na comharthaí ainmneacha"
eile
macalla "nach gcomhlíonann na hainmneacha"
fi
Sa script thuas sainmhínigh mé dhá athróg ar a dtugtar ainm1 agus ainm2 agus thug siad na luachanna "gary" agus "bob" dóibh. Ós rud é go bhfuil na hathróga idir na marcanna luachanna, is iad na hathróga sreang a thugtar orthu a thagann chun bheith níos ábhartha mar a théann an teagasc ar aghaidh.
Déanann an script go léir comparáid idir luach ainm $ 1 agus $ ainm2 agus má mheaitseálann siad aschur an teaghrán "comhoiriúnach na n-ainmneacha" agus mura gcuireann siad an téad aschur "níl na hainmneacha comhoiriúnacha".
Tá an luachanna thart ar na hathróga $ name1 agus $ name2 tábhachtach mar má tá luach na gceachtar acu leagtha síos ansin beidh an script fós ag obair.
Mar shampla, más rud é nach socraíodh $ name1 ansin bheadh tú ag comparáid idir "" agus "bob". Gan na marcanna luachanna bheadh tú fágtha le = "bob" a mharaíonn go soiléir.
Is féidir leat an nodaireacht! = A úsáid freisin chun a shainmhíniú nach ionann leis mar seo a leanas:
más rud é ["$ name1"! = "$ name2"]
02 de 08
Treoir Thosaitheoirí A BASH - Comparáid a dhéanamh ar Thráchtanna
Sa sampla thuas, déanann an tástáil comparáid idir an dá shraith chéanna agus iarrann sé an cheist a thagann gary roimh gach san aibítir?
Is léir gurb é an freagra uimh.
Tugann an script isteach níos lú ná oibreoir (<). Toisc go n-úsáidtear an t-oibreoir níos lú freisin le haghaidh athfhriotail, caithfidh tú éalú le slais (\) le haghaidh níos lú ná sin agus is é an fáth atá sa script thuas ná "$ name1" \ <"$ name2".
Is léir go bhfuil an os coinne níos lú ná mar a tharla. In ionad úsáid a bhaint as \
Mar shampla
más rud é ["$ name1" \> "$ name2"]
03 de 08
Treoir Thosaitheoirí A BASH - Comparáid a dhéanamh ar Thráchtanna
Más mian leat a thástáil an bhfuil luach ag athróg is féidir leat an tástáil seo a leanas a úsáid:
más rud é [-n $ name2]
Sa script thuas, scrúdaigh mé an ndearnadh luach $ $2 a thabhairt agus más rud é nach ndéanann sé an teachtaireacht "Níl aon bob, ní raibh gach chuma ann".
04 de 08
Treoir Thosaitheoirí A BASH - Comparáid a dhéanamh ar Thráchtanna
Ar an sleamhnán seo caite chlúdaigh muid an bhfuil athróg leagtha amach nó nach bhfuil. Uaireanta, b'fhéidir go bhféadfaí athróg a shocrú ach ní fhéadfadh luach a bheith aige i ndáiríre.
Mar shampla:
ainm1 = ""
Chun a thástáil an bhfuil luach ag athróg nó nach bhfuil (ie fad nialas) úsáid -z mar seo a leanas:
más rud é [-z $ name1]
Sa script thuas, leag mé $ ainm1 le sreang fad nialas agus ansin é a chur i gcomparáid le húsáid -z. Má tá $ name1 náid ar fad, taispeánfar an teachtaireacht "gary for the evening".
05 de 08
Treoir Tosaitheoirí BASH - Comparáid Uimhreacha
Go dtí seo, bhí na comparáidí uile le haghaidh teaghráin. Cad mar gheall ar chomparáid a dhéanamh ar uimhreacha?
Taispeánann an script thuas sampla de dhá uimhir a chomparáid:
#! / bin / bash
a = 4
b = 5más rud é [$ a = $ b]
ansin
macalla "4 = 5"
eile
macalla "4 nach ionann 5"
fi
Chun athróg a shocrú a bheith ina líon ach é a shocrú gan marcanna luachanna. Is féidir leat comparáid a dhéanamh idir na huimhreacha agus comhartha comhionann.
Is fearr liom áfach an t-oibreoir seo a leanas a úsáid chun dhá uimhir a chur i gcomparáid:
Más rud é [$ a -eq $ b]
06 de 08
Treoir Tosaitheoirí BASH - Comparáid Uimhreacha
Más mian leat comparáid a dhéanamh idir an bhfuil uimhir níos lú ná líon eile is féidir leat an oibritheoir níos lú ná an t-oibreoir (<) a úsáid. Mar is amhlaidh le teaghráin caithfidh tú éalú a dhéanamh ar an oibreoir níos lú ná Slais. (\ <).
Is bealach níos fearr chun comparáid a dhéanamh idir uimhreacha ná an nóta seo a leanas a úsáid ina ionad:
- Níos lú ná -lt
- Níos lú ná nó cothrom le -le
- Níos mó ná -gt
- Níos mó ná nó cothrom le
Mar shampla:
más rud é [$ a -lt $ b]
más rud é [$ a -le $ b]
más rud é [$ a -ge $ b]
más rud é [$ a -gt $ b]
07 de 08
Treoir Tosaitheoirí BASH - Comparáid Uimhreacha
Mar fhocal scoir don treoir seo, más mian leat a thástáil an bhfuil dhá uimhir difriúil is féidir leat úsáid a bhaint as oibreoirí níos lú ná agus níos mó ná (<>) nó - mar seo a leanas:
más rud é [$ a <> $ b]
más rud é [$ a -ne $ b]
08 de 08
Tosaitheoirí Treoir Chun BASH - Oibreoirí Comparáide - Achoimre
Má chaill tú na chéad trí chuid den treoir seo, is féidir leat iad a fháil trí chliceáil ar na naisc seo a leanas:
Sa chéad chuid eile den treoir beidh mé ag clúdach uimhríocht.