Yadda za a yi amfani da yanayin gwaji A cikin Bash Script

Ana iya amfani da umarnin gwaji a kan layin layin layin Linux don kwatanta kashi ɗaya a kan wani amma ana amfani dasu a cikin rubutun BASH na harshe a matsayin ɓangare na maganganun kwakwalwa waɗanda ke kula da tsarin dabaru da kuma shirin.

Misali Misali

Kuna iya gwada wadannan umarnin kawai ta hanyar bude madogarar muni .

gwajin 1 -eq 2 && echo "yes" || Kira "Babu"

Za'a iya karya umarnin sama kamar haka:

Ainihin, umarnin yana gwada 1 zuwa 2 kuma suna daidaita da bayanin "yes" wanda aka nuna "yes" kuma idan basu dace da bayanin kalmar "no" da aka kashe wanda ke nuna "a'a" ba.

Kwatanta lambobi

Idan kuna kwatanta abubuwan da suka shiga kamar lambobin da za ku iya amfani da masu yin amfani da su kamar haka:

Misalai:

gwajin 1 -eq 2 && echo "yes" || Kira "Babu"

(nuna "babu" zuwa allon saboda 1 ba daidai ba 2)

gwajin 1 -ge 2 && echo "yes" || Kira "Babu"

(nuna "babu" zuwa allon saboda 1 ba mafi girma ba ne ko kuma daidai da 2)

gwajin 1 -gt 2 && echo "yes" || Kira "Babu"

(nuna "babu" zuwa allon saboda 1 ba fiye da 2)

gwajin 1 -2 && echo "yes" || Kira "Babu"

(nuni "a" zuwa allon saboda 1 ya kasa ko daidai da 2)

gwajin 1 -lt 2 && echo "yes" || Kira "Babu"

(nuni "a" zuwa allon saboda 1 ya kasa ko daidai da 2)

gwajin 1 -ne 2 && echo "yes" || Kira "Babu"

(nuna "a" zuwa allon saboda 1 ba daidai ba 2)

Ganin rubutu

Idan kuna kwatanta abubuwan da suke yin amfani da su a matsayin kirtani za ku iya amfani da wadannan masu amfani da su:

Misalai:

gwajin "string1" = "string2" & & echo "eh" || Kira "Babu"

(nuna "babu" zuwa allon saboda "string1" bai daidaita ba "string2")

gwajin "string1"! = "string2" && echo "eh" || Kira "Babu"

(nuna "a" zuwa allon saboda "string1" ba daidai ba "string2")

gwajin -n "string1" && echo "eh" || Kira "Babu"

(nuni "a" zuwa allon saboda "string1" yana da tsayi mai tsawo fiye da zero)

gwajin -z "string1" & & echo "yes" || Kira "Babu"

(nuna "babu" zuwa allon saboda "string1" yana da tsayi mai tsawo fiye da zero)

Samar da Fayilolin

Idan kuna kwatanta fayiloli za ku iya amfani da masu yin amfani da wannan kwatankwacin:

Misalai:

gwaji / hanyar / to / file1 -n / hanyar / to / file2 && echo "yes"

(Idan file1 ya fi sabon fayil fiye da fayil2 to sai a nuna kalmar nan "eh")

gwajin -e / hanyar / to / file1 && echo "yes"

(idan fayil1 akwai kalmar "eh" za a nuna)

gwajin -O / hanyar / to / file1 && echo "yes"

(idan ka mallaka file1 to kalmar "eh" an nuna ")

Terminology

Ƙididdige Maɗaukaki Yanayi

Ya zuwa yanzu duk abin da aka kwatanta da juna amma idan kuna son kwatanta yanayi guda biyu.

Alal misali, idan dabba yana da kafafu 4 kuma yana "moo" yana yiwuwa wata saniya. Yin bincike kawai don kafafu 4 bai bada tabbacin cewa kana da saniya amma yana duba sautin da yake sa.

Don gwada dukansu yanayi sau ɗaya amfani da bayanan nan:

gwajin 4 -eq 4 -a "moo" = "moo" &&cho "karsana ne" || Kira "ba saniya bane"

Babban maɓalli a nan shi ne - abin da yake tsaye da kuma.

Akwai hanya mafi kyau kuma mafi yawan amfani da ita don yin wannan gwaji kuma wannan shine kamar haka:

gwajin 4 -eq 4 && gwajin "moo" = "moo" && "ya saniya saniya" || Kira "ba saniya bane"

Wani gwajin da za ku iya yi shi ne kwatanta maganganun biyu kuma idan ko dai shi ne ainihin fitar da kirtani. Alal misali, idan kana so ka duba cewa fayil din mai suna "file1.txt" yana kasance ko fayil da ake kira "file1.doc" wanzu zaka iya amfani da umarnin da ke biyewa

test -e file1.txt -o -e file1.doc && echo "file1 wanzu" || Kira "file1 ba ya wanzu"

Maɓallin mahimmanci a nan shi ne - abin da ke tsaye don ko.

Akwai hanya mafi kyau kuma mafi yawan amfani da ita don yin wannan gwaji kuma wannan shine kamar haka:

gwajin -e file1.txt || test -e file1.doc && echo "file1 wanzu" || Kira "file1 ba ya wanzu"

Ana kawar da Maganar Test

Ba lallai ba ku buƙatar amfani da gwajin kalma don yin kwatanta ba. Duk abin da zaka yi shi ne hada da sanarwa a cikin sakonni na tsakiya kamar haka:

[-e file1.txt] && echo "file1 wanzu" || Kira "file1 ba ya wanzu"

Abinda [da] mahimmanci yana nufi da gwaji.

Yanzu ka san wannan zaka iya inganta a gwada yawan yanayi kamar haka:

[4 -q 4] && ["moo" = "moo"] & & echo "saniya ne" || Kira "ba saniya bane"

[-e file1.txt] || [-e file1.doc] && echo "file1 wanzu" || Kira "file1 ba ya wanzu"

Takaitaccen

Dokar gwaji yafi amfani a cikin rubutun saboda zaka iya gwada tasirin mai sauƙi akan wani kuma kayyade tsarin gudanarwa. A layin daidaitaccen umurni, zaka iya amfani da ita don gwada ko akwai fayil ko