Faodar an t-òrdugh deuchainn a chleachdadh air loidhne-àithne Linux gus coimeas a dhèanamh eadar aon eileamaid an aghaidh fear eile ach tha e nas cumanta air a chleachdadh ann an sgriobtaichean sguab BASH mar phàirt de na h-aithrisean co - rèiteach a tha a 'riaghladh rèiteachadh agus sruth a' phrògraim.
Eisimpleir bhunasach
Faodaidh tu na h-òrdughan sin a fheuchainn dìreach le bhith fosgladh uinneag deireannach .
deuchainn 1 -eq 2 && echo "yes" || echo "no"
Faodar an àithne gu h-àrd a bhriseadh sìos mar a leanas:
- deuchainn - tha seo a 'ciallachadh gu bheil thu airson coimeas a dhèanamh
- 1 - a 'chiad eileamaid a tha thu a' dol a choimeas
- -eq (ciamar a tha thu a 'dèanamh coimeas, anns a' chùis seo, tha thu a 'feuchainn a bheil aon àireamh co-ionnan ri fear eile)
- 2 - an eileamaid a tha thu a 'dèanamh coimeas eadar a' chiad eileamaid a-rithist
- && - ruith an aithris a leanas ma tha an toradh fìor
- echo "yes" - an t-òrdugh a ruith ma tha an coimeas a 'tilleadh gu fìor
- S an Iar- - ruith an aithris a leanas ma tha an toradh meallta
- echo "no" - an t-òrdugh a ruith ma tha an coimeas a 'tilleadh ceàrr
Gu dearbh, tha an t-òrdugh a 'dèanamh coimeas eadar 1 gu 2 agus bidh iad a' maidseadh an aithris "tha" mac-samhail air a chur gu bàs a tha a 'taisbeanadh "tha" agus mura bi iad a' freagairt ris an aithris "no" mac-samhail air a chur gu bàs a tha a 'taisbeanadh "chan eil".
A 'coimeas àireamhan
Ma tha thu a 'dèanamh coimeas eadar eileamaidean a tha a' leantainn àireamhan mar as urrainn dhut na coimeasan coimeas a leanas a chleachdadh:
- -eq - a bheil luach 1 luach co-ionnan 2
- -ge - luach 1 nas àirde no co-ionann ri luach 2
- -gt - tha luach 1 nas motha na luach 2
- -le - tha luach 1 nas lugha na no co-ionann ri luach 2
- -lt - tha luach 1 nas lugha na luach 2
- -ne - a bheil luach 1 nach eil luach co-ionann 2
Eisimpleirean:
deuchainn 1 -eq 2 && echo "yes" || echo "no"
(taisbeanaidhean "chan eil" air an sgrìn seach nach eil 1 co-ionnan 2)
deuchainn 1 -ge 2 && echo "yes" || echo "no"
(thaisbeanaidhean "chan eil" air an sgrìn oir chan eil 1 nas motha no co-ionann ri 2)
deuchainn 1-gt 2 && echo "yes" || echo "no"
(thaisbeanaidhean "chan eil" air an sgrìn oir chan eil 1 nas motha na 2)
deuchainn 1 -le 2 && echo "yes" || echo "no"
(a 'taisbeanadh "tha" ris an sgrion seach gu bheil 1 nas lugha na no co-ionann ri 2)
deuchainn 1 -lt 2 && echo "yes" || echo "no"
(a 'taisbeanadh "tha" ris an sgrion seach gu bheil 1 nas lugha na no co-ionann ri 2)
deuchainn 1 -ne 2 agus & echo "se" echo "no"
(a 'taisbeanadh "tha" ris an sgrion seach nach eil 1 co-ionnan 2)
Eadar-theangachadh Teacsa
Ma tha thu a 'dèanamh coimeas eadar eileamaidean a tha a' cumail sùil air na teintean as urrainn dhut na coimeasan coimeas a leanas a chleachdadh:
- = - a bheil sreang 1 a 'maidseadh sreang 2
- ! = - tha sreang 1 eadar-dhealaichte ri sreang 2
- -n - a bheil an fhad sreang nas àirde na 0
- -z - is e an ùine sreang 0
Eisimpleirean:
deuchainn "string1" = "string2" && echo "yes" || echo "no"
(taisbeanaidhean "chan eil" air an sgrìn oir chan eil "string1" co-ionnan ri "string2")
deuchainn "string1"! = "string2" && echo "yes" || echo "no"
(a 'taisbeanadh "tha" ris an sgrion a chionn' s nach eil "string1" co-ionnan "string2")
deuchainn -n "string1" && echo "yes" || echo "no"
(a 'taisbeanadh "tha" ris an sgrion a chionn' s gu bheil "sreath1" fada nas fhaide na neoni)
test -z "string1" && echo "yes" || echo "no"
(taisbeanaidhean "chan eil" air an sgrìn oir tha "string1" fada nas fhaide na neoni)
A 'Comharrachadh Fhaidhlichean
Ma tha thu a 'dèanamh coimeas eadar faidhlichean, faodaidh tu na h-obraichean coimeas a leanas a chleachdadh:
- -ef - A bheil an aon inneal agus àireamhan inode aig na faidhlichean (an e an aon fhaidhle a th 'annta)
- -nt - A bheil a 'chiad faidhle nas ùire na an dàrna faidhle
- -ot - A bheil a 'chiad faidhle nas sine na an dàrna faidhle
- -b - Tha am faidhle ann agus tha e bloc sònraichte
- -c - Tha am faidhle ann agus tha e sònraichte sònraichte
- -d - Tha am faidhle ann agus tha e na eòlaire
- -e - Tha am faidhle ann
- -f - Tha am faidhle ann agus tha e na fhaidhle cunbhalach
- -g - Tha am faidhle ann agus tha an àireamh buidhne ainmichte agad
- -G - Tha am faidhle ann agus sealbhadair le buidheann an neach-cleachdaidh
- -h - Tha am faidhle ann agus tha e na cheangal samhlachail
- -k - Tha am faidhle ann agus tha an ìre greim air a shuidheachadh
- -L - An aon rud ri -h
- -O - Tha am faidhle ann gur e an sealbhadair a th 'annad
- -p - Tha am faidhle ann agus tha e na phìob ainmichte
- -r - Tha am faidhle ann agus tha e furasta leughadh
- -s - Tha am faidhle ann agus tha meud nas motha na neoni
- -S - Tha am faidhle ann agus is e socaid a th 'ann
- -t - Tha tuairisgeul an fhaidhle air fhosgladh air ceann-uidhe
- -u - Tha am faidhle ann agus tha am put id-cleachdaiche stèidhichte
- -w - Tha am faidhle ann agus tha e sgrìobhte
- -x - Tha am faidhle ann agus tha e iomchaidh
Eisimpleirean:
deuchainn / slighe / gu / file1 -n / path / to / file2 && echo "yes"
(Ma tha file1 nas ùire na file2 bidh an fhacal "tha" air a thaisbeanadh)
deuchainn -e / path / to / file1 && echo "yes"
(ma tha file1 ann bidh am facal "tha" air a thaisbeanadh)
deuchainn -O / path / to / file1 && echo "yes"
(ma tha file1 agad fhèin, tha am facal "tha" air a thaisbeanadh)
Briathrachas
- Bloc sònraichte - 'S e inneal bloc a tha anns an fhaidhle a tha a' ciallachadh gu bheil an dàta sin air a leughadh ann am blocaichean de bytes. Mar as trice, is e faidhlichean innealan mar dràma cruaidh a tha seo.
- Seòrsa caractar - Tha am faidhle air a chur an gnìomh sa bhad nuair a sgrìobhas tu thuige agus mar as trice tha e mar inneal mar phort sreathach
A 'coimeas iomadh teirm
Gu ruige seo tha a h-uile dad air a bhith a 'dèanamh coimeas eadar aon rud an aghaidh fear eile ach dè ma tha thu airson coimeas a dhèanamh eadar dà chùmhnant.
Mar eisimpleir, ma tha 4 cas air beathach agus a 'dol "moo", is dòcha gur e mart a th' ann. Chan eil ach a bhith a 'coimhead airson 4 casan a' toirt gealltanas gu bheil bò agad ach a bhith a 'sgrùdadh na fuaim a nì e gu cinnteach.
Gus an dà chùis a dhearbhadh aig an aon àm cleachd an aithris a leanas:
deuchainn 4 -eq 4 -a "moo" = "moo" && echo "is e mart" mac-mac "chan e mart a th 'ann"
Is e a 'phrìomh phàirt an-seo an -a a tha a' seasamh agus.
Tha dòigh nas fheàrr agus nas cumanta air an aon dheuchainn a dhèanamh agus tha sin mar a leanas:
deuchainn 4 -eq 4 && deuchainn "moo" = "moo" && echo "is e mart" mac-mac "chan e mart a th 'ann"
Is e deuchainn eile a dh 'fhaodadh tu a dhèanamh a bhith a' dèanamh coimeas eadar dà aithris agus ma tha an dà chuid fìor thionndadh sreang. Mar eisimpleir, ma tha thu airson dearbhadh gu bheil faidhle air a bheil "file1.txt" ann no faidhle ann am faidhle "file1.doc", faodaidh tu an òrdugh a leanas a chleachdadh
test -e file1.txt -o -e file1.doc && echo "file1 exists" | mac-samhail "file1 does not exist"
Is e am prìomh phàirt an seo an -o a tha a 'seasamh airson no.
Tha dòigh nas fheàrr agus nas cumanta air an aon dheuchainn a dhèanamh agus tha sin mar a leanas:
deuchainn -e file1.txt | test -e file1.doc && echo "file1 exists" | mac-samhail "file1 does not exist"
A 'cur às de na faclan-luirg deuchainn
Chan fheum thu an deuchainn fhaclan a chleachdadh gus an coimeas a dhèanamh. Feumaidh a h-uile nì a tha agad a-steach an aithris ann an camagan ceàrnach mar a leanas:
[-e file1.txt] && echo "file1 exists" | mac-samhail "file1 does not exist"
Tha an [agus] a 'ciallachadh an aon rud ri deuchainn.
A-nis tha fios agad gur urrainn dhut leasachadh a dhèanamh air coimeas eadar ioma-chùmhnant mar a leanas:
[4 -eq 4] && ["moo" = "moo"] && echo "it is a cow" || mac-mac "chan e mart a th 'ann"
[-e file1.txt] | [-e file1.doc] && echo "file1 exists" | mac-samhail "file1 does not exist"
Geàrr-chunntas
Tha an t-òrdugh deuchainn nas fheumail ann an sgriobtaichean oir is urrainn dhut dearbhadh luach aon caochlaideach an aghaidh fear eile agus sruth a 'phrògraim riaghlaidh. Air an loidhne àithne coitcheann, faodaidh tu a chleachdadh gus dearbhadh a bheil file ann no ma tha