Indlela yokusebenzisa izimo zokuhlola ngaphakathi kwesikripthi se-Bash

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:

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:

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:

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:

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

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