Prófunarskipan er hægt að nota á Linux skipanalínunni til að bera saman einn þáttur gagnvart öðrum en það er almennt notaður í BASH skelskriftir sem hluti af skilyrðum yfirlýsingum sem stjórna rökfræði og forritflæði.
Grunn dæmi
Þú getur prófað þessar skipanir einfaldlega með því að opna stöðuglugga .
próf 1 -eq 2 && echo "yes" || echo "nei"
Ofangreind skipun er sundurliðuð á eftirfarandi hátt:
- próf - þetta þýðir að þú ert að fara að bera saman
- 1 - fyrsta þátturinn sem þú ert að bera saman
- -eq (hvernig ertu að bera saman, í þessu tilviki ertu að prófa hvort einn tala jafngildir öðru)
- 2 - Einingin sem þú ert að bera saman fyrsta þáttinn aftur
- && - hlaupa eftirfarandi yfirlýsingu ef niðurstaðan er satt
- echo "yes" - skipunin til að hlaupa ef samanburðurinn skilar satt
- || - Renndu eftirfarandi yfirlýsingu ef niðurstaðan er ósatt
- echo "nei" - stjórnin til að hlaupa ef samanburðurinn skilar rangar
Í meginatriðum er stjórnin að bera saman 1 til 2 og þau passa við echo "já" yfirlýsingin er framkvæmd sem sýnir "já" og ef þau passa ekki við echo "nei" yfirlýsingin er framkvæmd sem sýnir "nei".
Samanburður á tölum
Ef þú ert að bera saman þætti sem flokka sem tölur sem þú getur notað eftirfarandi rekstraraðila samanburðar:
- -eq - gerir gildi 1 jafnt gildi 2
- -ge - er gildi 1 hærra eða jafnt við gildi 2
- -gt - er gildi 1 hærra en gildi 2
- -le - er gildi 1 minna en eða jafnt við gildi 2
- -lt - er gildi 1 minna en gildi 2
- -ne - gerir gildi 1 ekki jafnt gildi 2
Dæmi:
próf 1 -eq 2 && echo "yes" || echo "nei"
(birtir "nei" á skjánum vegna þess að 1 er ekki jöfn 2)
próf 1 -ge 2 && echo "yes" || echo "nei"
(birtir "nei" á skjánum því 1 er ekki meiri eða jöfn 2)
próf 1 -gt 2 & & echo "yes" || echo "nei"
(birtir "nei" á skjánum því 1 er ekki meiri en 2)
próf 1 -le 2 & & echo "yes" || echo "nei"
(birtir "já" á skjánum vegna þess að 1 er minna en eða jafnt og 2)
prófið 1 -lt 2 & & echo "yes" || echo "nei"
(birtir "já" á skjánum vegna þess að 1 er minna en eða jafnt og 2)
próf 1 -ne 2 & & echo "yes" || echo "nei"
(birtir "já" á skjánum vegna þess að 1 er ekki jöfn 2)
Samanburður á texta
Ef þú ert að bera saman þætti sem flokka sem strengir getur þú notað eftirfarandi rekstraraðila samanburðar:
- = - Er strengur 1 passa við streng 2
- ! = - er strengur 1 öðruvísi en strengur 2
- -n - er streng lengd meiri en 0
- -z - er strengslengdin 0
Dæmi:
prófaðu "string1" = "string2" && echo "yes" || echo "nei"
(birtir "nei" á skjáinn því "strengur1" er ekki jöfn "strengur2")
prófaðu "string1"! = "string2" && echo "yes" || echo "nei"
(birtir "já" á skjáinn því "strengur1" er ekki jöfn "strengur2")
próf -n "string1" && echo "yes" || echo "nei"
(birtir "já" á skjánum því "strengur1" hefur strengalengd meiri en núll)
próf -z "string1" && echo "yes" || echo "nei"
(birtir "nei" á skjáinn því "strengur1" hefur strengalengd meiri en núll)
Samanburður á skrám
Ef þú ert að bera saman skrár sem þú getur notað eftirfarandi rekstraraðila samanburðar:
- -ef - Hafa skrárnar sömu tækið og innritunarnúmerin (eru þau sömu skrá)
- -nt - Er fyrsta skráin nýrri en önnur skráin
- -ot - Er fyrsta skráin eldri en önnur skráin
- -b - Skráin er til og er blokk sérstakur
- -c - Skráin er til og er persónan sérstök
- -d - Skráin er til staðar og er skrá
- -e - Skráin er til staðar
- -f - Skráin er til staðar og er regluleg skrá
- -g - Skráin er til og hefur tilgreint hópnúmer
- -G - Skráin er til og eigandi af hóp notandans
- -h - Skráin er til og er táknræn hlekkur
- -k - Skráin er til og hefur klípandi hluti þess
- -L - Sama sem -h
- -O - Skráin er til staðar þú ert eigandi
- -p - Skráin er til og er heitir pípa
- -r - Skráin er til staðar og er læsileg
- -s - Skráin er til og hefur stærri stærð en núll
- -S - Skráin er til staðar og er fals
- -t - Skráarlýsingin er opnuð á flugstöðinni
- -u - Skráin er til og sett-notandi-id bita er stillt
- -w - Skráin er til og hægt að skrifa
- -x - Skráin er til og hægt að framkvæma
Dæmi:
próf / slóð / til / skrá1 -n / slóð / til / skrá2 && echo "já"
(Ef file1 er nýrri en file2 þá birtist orðið "já")
próf -e / slóð / til / skrá1 && echo "já"
(ef skrá1 er til staðar birtist orðið "já")
próf -O / leið / til / skrá1 && echo "já"
(ef þú átt skrá1 þá birtist orðið "já") ")
Terminology
- Block Special - Skráin er blokk tæki sem þýðir að gögn eru lesin í blokkum bæti. Þetta eru yfirleitt tæki skrá svo sem harða diska.
- Sérstakur stafur - Skráin er virk þegar þú skrifar það og er venjulega tæki eins og raðtengi
Samanburður á mörgum skilyrðum
Svo langt hefur allt verið að bera saman eitt við annað en hvað ef þú vilt bera saman tvö skilyrði.
Til dæmis, ef dýr hefur 4 fætur og fer "moo" er það líklega kýr. Einfaldlega að skoða 4 fætur tryggir ekki að þú hafir kú en skoðuð hljóðið sem það gerir örugglega.
Til að prófa báðar aðstæður í einu skaltu nota eftirfarandi yfirlýsingu:
próf 4-eq 4 -a "moo" = "moo" && echo "það er kýr" || echo "það er ekki kýr"
Lykilhlutinn hér er sá sem stendur fyrir og.
Það er betra og algengari leið til að framkvæma sama prófið og það er sem hér segir:
próf 4-eq 4 && próf "moo" = "moo" && echo "það er kýr" || echo "það er ekki kýr"
Annar prófun sem þú gætir viljað er að bera saman tvö yfirlýsingar og hvort annað hvort sé satt framleiðsla strengur. Til dæmis, ef þú vilt athuga hvort skrá sem heitir "file1.txt" er til staðar eða skrá sem kallast "file1.doc" er hægt að nota eftirfarandi skipun
próf -e file1.txt -o -e file1.doc && echo "file1 exists" || echo "file1 er ekki til"
Lykilhlutinn hér er sá sem stendur fyrir eða.
Það er betra og algengari leið til að framkvæma sama prófið og það er sem hér segir:
prófaðu -e file1.txt || próf -e file1.doc && echo "file1 exists" || echo "file1 er ekki til"
Útrýming lykilorði prófunar
Þú þarft ekki raunverulega að nota orðprófið til að framkvæma samanburðina. Allt sem þú þarft að gera er að fylgja yfirlýsingunni í fermetra sviga sem hér segir:
[-e file1.txt] && echo "file1 exists" || echo "file1 er ekki til"
[Og] þýðir í grundvallaratriðum það sama og próf.
Nú veit þú þetta getur þú bætt við samanburð á mörgum skilyrðum sem hér segir:
[4-eq 4] && ["moo" = "moo"] && echo "það er kýr" || echo "það er ekki kýr"
[-e file1.txt] || [-e file1.doc] && echo "file1 exists" || echo "file1 er ekki til"
Yfirlit
Prófunarskipunin er gagnlegari í forskriftir vegna þess að þú getur prófað gildi eins breytu gagnvart annarri og stjórnunarflæði. Á venjulegu stjórnalínunni geturðu notað það til að prófa hvort skrá sé til eða