Testauskäskyä voidaan käyttää Linux-komentorivillä vertaamaan yhtä elementtiä toista, mutta sitä käytetään yleisemmin BASH-komentojonoissa osana ehtoja, jotka ohjaavat logiikkaa ja ohjelmavirtoja.
Perusesimerkki
Voit kokeilla näitä komentoja yksinkertaisesti avaamalla pääteikkunan.
testi 1 -eq 2 && echo "kyllä" || echo "no"
Edellä oleva komento voidaan jakaa seuraavasti: Pohjimmiltaan komento vertailee 1-2: tä ja jos ne vastaavat, niin echo "yes" -esitys suoritetaan, joka näyttää "kyllä" ja jos ne eivät täsmää, echo "no" -esitys suoritetaan, joka näyttää "ei". Jos verrataan elementtejä, jotka vertaavat numeroina, voit käyttää seuraavia vertailuoperaattoreita: esimerkit testi 1 -eq 2 && echo "kyllä" || echo "no"
(näyttää "ei" näytölle, koska 1 ei ole yhtä suuri kuin 2) testi 1 -ge 2 && echo "kyllä" || echo "no"
(näyttää "ei" näytölle, koska 1 ei ole suurempi tai yhtä suuri kuin 2) testi 1 -gt 2 && echo "kyllä" || echo "no"
(näyttää "ei" näytölle, koska 1 ei ole suurempi kuin 2) testi 1 -le 2 && echo "kyllä" || echo "no"
(näyttää "kyllä" näytölle, koska 1 on pienempi tai yhtä suuri kuin 2) testi 1 -lt 2 && echo "kyllä" || echo "no"
(näyttää "kyllä" näytölle, koska 1 on pienempi tai yhtä suuri kuin 2) testi 1 -ne 2 && echo "kyllä" || echo "no"
(näyttää "kyllä" näytölle, koska 1 ei ole yhtä suuri kuin 2) Jos verrataan elementejä, jotka jäsentää merkkijonoksi, voit käyttää seuraavia vertailuoperaattoreita: esimerkit test "string1" = "string2" && echo "kyllä" || echo "no"
(näyttää "ei" näytölle, koska "string1" ei ole sama kuin "string2") test "string1"! = "string2" && echo "kyllä" || echo "no"
(näyttää "kyllä" näytölle, koska "string1" ei ole sama kuin "string2") test -n "string1" && echo "kyllä" || echo "no"
(näyttää "kyllä" näytölle, koska "merkkijono1" on merkkijonon pituus suurempi kuin nolla) test -z "string1" && echo "kyllä" || echo "no"
(näyttää "ei" näytölle, koska "merkkijono1" on merkkijonon pituus suurempi kuin nolla) Jos vertailet tiedostoja, voit käyttää seuraavia vertailuoperaattoreita: esimerkit test / path / to / file1 -nt / polku / to / file2 && echo "kyllä"
(Jos tiedosto1 on uudempi kuin tiedosto2, sana "kyllä" tulee näkyviin) test -e / path / to / file1 && echo "kyllä"
(jos tiedosto1 on olemassa, sana "kyllä" tulee näkyviin) test -O / path / to / file1 && echo "kyllä"
(jos omistat tiedoston1, näyttöön tulee sana "kyllä") Terminologia Toistaiseksi kaikki on vertaillut yhtä asiaa toisen kanssa, mutta entä jos haluat vertailla kahta ehtoa? Esimerkiksi jos eläin on 4 jalkaa ja menee "moo", se on luultavasti lehmä. Yksinkertainen tarkistaminen 4 jalalle ei takaa, että sinulla on lehmä, mutta tarkistaa äänen, jonka se tekee varmasti. Voit testata molempia ehtoja kerralla seuraavasti: testi 4-eq 4 -a "moo" = "moo" && echo "se lehmä" || kaiku "se ei ole lehmä"
Tärkeä osa tässä on -a, joka tarkoittaa ja . On olemassa parempi ja yleisemmin käytetty tapa suorittaa sama testi, ja se on seuraava: testi 4-eq 4 && testi "moo" = "moo" && echo "se on lehmä" || kaiku "se ei ole lehmä"
Toinen testi, jonka haluat tehdä, on verrata kahta lausetta ja jos jokin on totta, anna merkkijono. Jos esimerkiksi haluat tarkistaa, että tiedostossa on tiedosto "file1.txt" tai tiedostolla "file1.doc", voit käyttää seuraavaa komentoa: test -e file1.txt -o -e file1.doc && echo "tiedosto1 on olemassa" || echo "file1 ei ole olemassa"
Tärkein osa tässä on -o, joka tarkoittaa tai . On olemassa parempi ja yleisemmin käytetty tapa suorittaa sama testi, ja se on seuraava: test -e file1.txt || test -e file1.doc && echo "tiedosto1 on olemassa" || echo "file1 ei ole olemassa" Sinun ei todellakaan tarvitse käyttää sanaa testiä vertailua varten. Sinun tarvitsee vain liittää lauseke hakasulkeisiin seuraavasti: -e file1.txt && echo "tiedosto1 on olemassa" || echo "file1 ei ole olemassa"
Ja periaatteessa tarkoittaa samaa kuin testi. Nyt tiedät tämän, että voit parantaa vertailemalla useita ehtoja seuraavasti: 4-eq 4 && "moo" = "moo" && echo "se on lehmä" || kaiku "se ei ole lehmä"-e file1.txt || -e file1.doc && echo "tiedosto1 on olemassa" || echo "file1 ei ole olemassa" Testikomento on hyödyllisempi skripteissä, koska voit testata yhden muuttujan arvoa toista vastaan ja ohjata ohjelmavirtaa. Vakiona komentorivillä voit sen avulla testata onko tiedosto olemassa vai ei.
Vertaamalla numeroita
Tekstin vertailu
Tiedostojen vertailu
Useiden ehtojen vertailu
Testa-avainsanan poistaminen
Yhteenveto




