Umyalo wokuhlola ungasetshenziswa kumugqa we-Linux umyalo wokuqhathanisa isici esisodwa ngokumelene nomunye kodwa uvame ukusetshenziselwa izikripthi ze-shell ze-BASH njengengxenye yezitatimende ezinemibandela ezilawula ukugeleza kohlelo lohlelo.
Isibonelo Esisisekelo
Ungazama le miyalo ngokuvula iwindi lokugcina .
hlola 1 -eq 2 && echo "yebo" || beka "cha"
Umyalo ongenhla ungaphulwa kanje:
- ukuhlolwa - lokhu kusho ukuthi usuzokwenza ukuqhathanisa
- 1 - isici sokuqala oyoqhathanisa
- -eq (uqhathanisa kanjani, kulokhu, uhlola ukuthi inombolo eyodwa ilingana nomunye)
- 2 - isici oqhathanisa nento yokuqala futhi
- && - sebenzisa isitatimende esilandelayo uma umphumela kuyiqiniso
- bhala "yebo" - umyalo wokusebenza uma ukuqhathaniswa kubuyela eqinisweni
- || - sebenzisa isitatimende esilandelayo uma umphumela ungamanga
- bhala "cha" - umyalo wokusebenza uma ukuqhathaniswa kubuya okungamanga
Empeleni, umyalo uqhathanisa u-1 kuya kwezingu-2 futhi ufanisa isitatimende se-echo esithi "yebo" esenziwa esibonisa "yebo" futhi uma singavumelani nesitatimende se-echo "cha" esenziwa ekhombisa "cha".
Ukuqhathanisa Izinombolo
Uma uqhathanisa izici ezihamba njengezinombolo ongazisebenzisa ezilandelayo:
- -eq - ixabisa inani elingana elilinganayo 2
- -ge - yinani elikhulu 1 noma lilingana nenani 2
- -gt - yinani eli-1 elikhulu kunenani 2
- -le - yinani eli-1 elingaphansi noma elilingana nenani 2
- -lt - yinani eli-1 elincane kunenani 2
- -ne - ingabi 1 inani elingalingani 2
Izibonelo:
hlola 1 -eq 2 && echo "yebo" || beka "cha"
(ibonisa "cha" esikrinini ngoba 1 ayilingani 2)
test 1 -ge 2 && echo "yebo" || beka "cha"
(ibonisa "cha" esikrinini ngoba 1 ayinkulu noma ilingana no-2)
test 1 -gt 2 && echo "yebo" || beka "cha"
(ibonisa "cha" esikrinini ngoba 1 ayinkulu kune-2)
test 1 -le 2 && echo "yebo" || beka "cha"
(ibonisa "yebo" esibukweni ngoba 1 ingaphansi noma ilingana no-2)
test 1 -lt 2 && echo "yebo" || beka "cha"
(ibonisa "yebo" esibukweni ngoba 1 ingaphansi noma ilingana no-2)
test 1 -ne 2 && echo "yebo" || beka "cha"
(ibonisa "yebo" esikrinini ngoba 1 ayilingani 2)
Ukuqhathanisa umbhalo
Uma uqhathanisa izici ezihamba njengezintambo ungasebenzisa okulandelayo ukuqhathanisa opharetha:
- = - ingabe ulayini wochungechunge lwe-string 2
- ! = - is string 1 ehlukile string 2
- -n - i-string yobude obukhulu kunama-0
- -z - yibude obude bezinhlamvu 0
Izibonelo:
ukuhlolwa "string1" = "string2" && echo "yebo" || beka "cha"
(ibonisa "cha" kusikrini ngoba "string1" ayilingani "string2")
ukuhlolwa "string1"! = "string2" && echo "yebo" || beka "cha"
(ibonisa "yebo" kusikrini ngoba "string1" ayilingani "string2")
hlola -n "string1" && echo "yebo" || beka "cha"
(ibonisa "yebo" esibukweni ngoba "u-string1" unobuningi bezintambo obukhulu kunezero)
hlola -z "string1" && echo "yebo" || beka "cha"
(ibonisa "cha" esibukweni ngoba "u-string1" unesilinganiso sobude obukhulu kune-zero)
Ukuqhathanisa Amafayela
Uma uqhathanisa amafayela ungasebenzisa okulandelayo ukuqhathanisa opharetha:
- -ef - Ingabe amafayela anayo idivayisi efanayo futhi ayikho izinombolo (ingabe ifayela elifanayo)
- -nt - Ingabe ifayela lokuqala elisha kunefayili yesibili
- -ot - Ingabe ifayela lokuqala lidala kunefayili yesibili
- -b - Ifayela likhona futhi livimba okukhethekile
- -c - Ifayela likhona futhi lingumlingiswa okhethekile
- -d - Ifayela likhona futhi liyi-directory
- -e - Ifayela likhona
- -f - Ifayela likhona futhi ifayela ejwayelekile
- -g - Ifayela likhona futhi linenani leqembu elichaziwe
- -G - Ifayela likhona nomnikazi ngeqembu lomsebenzisi
- -h - Ifayela likhona futhi liyisixhumanisi esingokomfanekiso
- -k - Ifayela likhona futhi linamantombazane alo okunamathelayo
- -L - Okufana ne -h
- -O - Ifayela likhona wena ungumnikazi
- -p - Ifayela likhona futhi libheyili ebizwa ngokuthi
- -r - Ifayela likhona futhi lifundeka
- -s - Ifayela likhona futhi linesayizi enkulu kunazo zonke
- -S - Ifayela likhona futhi liyisisekelo
- -t - I-descriptor yefayela ivuliwe esibulalayo
- -u - Ifayela likhona futhi kancane isethi-yomsebenzisi-id isethwe
- -w - Ifayela likhona futhi liyabhalwa
- -x - Ifayela likhona futhi liyasebenza
Izibonelo:
ukuhlolwa / indlela / kuya / ifayela1 -n / indlela / kuya / ifayela2 && echo "yebo"
(Uma ifayela1 lisha kunefayela2 bese igama elithi "yebo" lizoboniswa)
ukuhlolwa -i / indlela / kuya / ifayela1 && echo "yebo"
(uma ifayela1 likhona igama elithi "yebo" lizoboniswa)
ukuhlolwa -O / indlela / kuya / ifayela1 && echo "yebo"
(uma ungumnikazi wefayela1 ke igama elithi "yebo" liboniswa ")
I-terminology
- Vimbela okhethekile - Ifayela liyidivaysi yokuvimbela okusho ukuthi idatha ifundwa ngamabhuloki we-bytes. Lawa ngokuvamile amafayili edivaysi njengamashayela asebenzayo.
- I-Character ekhethekile - Ifayela lithathwa ngokushesha lapho ubhala kulo futhi ngokuvamile idivayisi njengechwethi ye-serial
Ukuqhathanisa Izimo Eziningi
Kuze kube manje konke sekuqhathanisa into eyodwa nomunye kodwa kuthiwani uma ufuna ukuqhathanisa izimo ezimbili.
Isibonelo, uma isilwane sinemilenze engu-4 futhi siya "khona" mhlawumbe inkomo. Ukuhlola nje imilenze engu-4 akuqinisekisi ukuthi unenkomo kodwa uhlola umsindo okwenzayo ngokuqinisekile.
Ukuhlola izimo zombili kokubili sebenzisa isitatimende esilandelayo:
ukuhlolwa 4 -eq 4 -a "moo" = "khona" && echo "yinkomo" || u-echo "akuyona inkomo"
Ingxenye eyinhloko lapha yi-okumele futhi.
Kukhona indlela engcono futhi evame ukusetshenziswa kakhulu yokwenza ukuhlolwa okufanayo futhi kanje:
hlola 4 -eq 4 && test "moo" = "moo" && echo "yinkomo" || u-echo "akuyona inkomo"
Olunye uhlolo ongase ufune ukukwenza luqhathanisa izitatimende ezimbili futhi uma kuyiqiniso ukuthi kukhishwa uchungechunge. Isibonelo, uma ufuna ukuhlola ukuthi ifayela elibizwa ngokuthi "file1.txt" likhona noma ifayela elibizwa ngokuthi "file1.doc" likhona ungasebenzisa umyalo olandelayo
test -e file1.txt -o -e ifayela1.doc && echo "ifayela1 likhona" || beka "ifayela1 alikho"
Ingxenye eyinhloko lapha yi -o okumele noma.
Kukhona indlela engcono futhi evame ukusetshenziswa kakhulu yokwenza ukuhlolwa okufanayo futhi kanje:
ukuhlolwa -i file1.txt || test -e file1.doc && echo "ifayela1 likhona" || beka "ifayela1 alikho"
Ukuqeda igama elingukhiye lokuhlola
Empeleni akudingeki usebenzise ukuhlolwa kwezwi ukwenza ukufaniswa. Konke okumele ukwenze kufaka isitatimende kubakaki abesikwele kanje:
[-i file1.txt] && echo "ifayela1 likhona" || beka "ifayela1 alikho"
I [futhi] ngokuyisisekelo isho okufanayo nokuhlolwa.
Manje uyazi lokhu ongathuthukisa ngokuqhathanisa izimo eziningi kanje:
[4 -eq 4] && ["moo" = "moo"] && echo "yinkomo" || u-echo "akuyona inkomo"
[-ifayela1.txt] || [-i file1.doc] && echo "ifayela1 likhona" || beka "ifayela1 alikho"
Isifingqo
Umyalo wokuhlola uwusizo kakhulu kuzikripthi ngoba ungahlola inani lokuguquguquka okulodwa ngokumelene nelinye nokulawula ukugeleza kohlelo. Elayini lomyalo ojwayelekile, ungayisebenzisa ukuze uhlole ukuthi ifayela likhona noma