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:
- gwajin - wannan yana nufin cewa kana shirin yin kwatanta
- 1 - na farko da za ku kwatanta
- -eq (ta yaya kake kwatanta, a wannan yanayin, kuna gwada ko lambar daya daidai da wani)
- 2 - Ra'ayin da kake kwatanta batun farko
- && - gudanar da bayanan nan idan sakamakon ya kasance gaskiya
- Kira "yes" - umarni don gudu idan kwatancin ya dawo gaskiya
- || - Biyan bayanan nan idan sakamakon ya karya ne
- Kira "a'a" - umarni don gudu idan kwatancin ya sake karya
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:
- -eq - yana darajar 1 daidaitaccen darajar 2
- -ge - yana da daraja 1 mafi girma ko daidai da darajar 2
- -gt - yana da daraja 1 mafi girma fiye da darajar 2
- -le - yana da daraja 1 ƙasa da ko daidai da darajar 2
- -lt - darajar 1 kasa da darajar 2
- -ne - yana darajar 1 ba daidaitaccen darajar 2 ba
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:
- = - yi kirtani 1 wasa mai lamba 2
- ! = - shi ne kirtani 1 daban-daban ga kirtani 2
- -n - shi ne igiya mai tsawo fiye da 0
- -z - shine launi tsawon 0
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:
- -ef - Shin fayiloli suna da nau'i ɗaya da lambobin ƙira (su ne wannan fayil)
- -nt - Shin farkon fayilolin fayil ne fiye da fayil na biyu
- -ot - Shi ne farkon fayil tsoho fiye da fayil na biyu
- -b - Fayil yana wanzu kuma yana da ƙari na musamman
- -c - Fayil yana wanzu kuma yana da halayyar hali
- -d - Fayil yana wanzu kuma yana da shugabanci
- -e - Fayil ɗin ya wanzu
- -f - Fayil yana wanzu kuma yana fayil ne na yau da kullum
- -g - Fayil yana wanzu kuma tana da lambar ƙungiyar da aka ƙayyade
- -G - Fayil yana wanzu da mai shi ta hanyar mai amfani
- -h - Fayil yana wanzu kuma yana da alamar alama
- -k - Fayil din ya wanzu kuma yana da saitin saiti
- -L - Daidai kamar -h
- -O - Fayil ɗin yana wanzu kai ne mai shi
- -p - Fayil din yana wanzu kuma yana da mai kira
- -r - Fayil yana wanzu kuma yana iya iya karatunsa
- -s - Fayil ɗin yana wanzu kuma yana da girman girma fiye da zero
- -S - Fayil ɗin tana wanzu kuma yana da soket
- -t - An bude bayanin rubutun fayil a kan m
- -u - Fayil din ya wanzu kuma an saita jigon mai amfani-id
- -w - Fayil yana wanzu kuma yana da kyau
- -x - Fayil yana wanzu kuma ana iya aiwatarwa
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
- Block na musamman - Fayil ɗin wani na'ura ne wanda ke nuna cewa an karanta wannan bayanan ta hanyar bytes. Waɗannan su ne nau'ukan fayiloli irin su hard drive.
- Musamman na musamman - An kunna fayil din nan da nan lokacin da ka rubuta zuwa gare shi kuma yana da nau'in na'urar kamar tashar tashar
Ƙ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