Preizkusni ukaz lahko uporabite v ukazni vrstici Linux, da primerjate en element proti drugemu, vendar ga bolj pogosto uporabljate v skriptih BASH kot del pogojnih izjav, ki nadzorujejo logiko in pretok programa.
Osnovni primer
Te ukaze lahko poskusite preprosto tako, da odprete terminalsko okno.
test 1 -eq 2 && echo "da" || echo "ne"
Zgornji ukaz lahko razčlenite na naslednji način: V bistvu je ukaz primerjal 1 do 2 in če se ujemajo, se izvede echo "da" izjava, ki prikaže "da" in če se ne ujemata, se izvede izjava "ne", ki prikaže "ne". Če primerjate elemente, ki jih lahko razčlenite kot številke, lahko uporabite naslednje operaterje primerjave: Primeri test 1 -eq 2 && echo "da" || echo "ne"
(na zaslonu se prikaže "ne", ker 1 ne ustreza 2) test 1 -ge 2 && echo "da" || echo "ne"
(na zaslonu se prikaže "ne", ker 1 ni več ali enak 2) test 1 -gt 2 && echo "da" || echo "ne"
(na zaslonu se prikaže "ne", ker 1 ni več kot 2) test 1 -le 2 && echo "da" || echo "ne"
(prikaže zaslon »da« na zaslonu, ker je 1 manjši ali enak 2) test 1 -lt 2 && echo "da" || echo "ne"
(prikaže zaslon »da« na zaslonu, ker je 1 manjši ali enak 2) test 1 -ne 2 && echo "da" || echo "ne"
(prikaže zaslon »da« na zaslonu, ker 1 ni enak 2) Če primerjate elemente, ki jih razčleni kot nizov, lahko uporabite naslednje operaterje primerjave: Primeri test "string1" = "string2" && echo "da" || echo "ne"
(na zaslonu se prikaže "ne", ker "string1" ne ustreza "string2") test "string1"! = "string2" && echo "da" || echo "ne"
(prikaže "da" na zaslonu, ker "string1" ne ustreza "string2") test -n "string1" && echo "da" || echo "ne"
(na zaslonu se prikaže "da", ker ima "string1" dolžino niza, ki je večja od nič) test -z "string1" && echo "da" || echo "ne"
(na zaslonu se prikaže "ne", ker ima "string1" dolžino niza, ki je večja od nič) Če primerjate datoteke, lahko uporabite naslednje operaterje primerjave: Primeri test / pot / do / file1 -nt / path / do / file2 && echo "da"
(Če je datoteka1 novejša od datoteke2, se prikaže beseda "da") test -e / path / do / file1 && echo "da"
(če obstaja datoteka1, se prikaže beseda "da") test -O / path / do / file1 && echo "da"
(če imate datoteko1, se prikaže beseda "da") Terminologija Do zdaj je vse primerjalo eno stvar z drugo, kaj pa če želite primerjati dva pogoja? Na primer, če ima žival 4 noge in gre "moo", je verjetno krava. Preprosto preverjanje za 4 noge ne zagotavlja, da imate kravo, ampak preverite zvok, ki ga zagotovo naredi. Za preizkus obeh pogojev hkrati uporabite naslednjo izjavo: test 4 -eq 4 -a "moo" = "moo" && echo "to je krava" || echo "ni krava"
Ključni del je -a, ki se zavzema in . Obstaja boljši in bolj pogosto uporabljen način izvajanja istega testa, in sicer: test 4 -eq 4 && test "moo" = "moo" && echo "to je krava" || echo "ni krava"
Še en test, ki ga boste morda želeli, je primerjava dveh izjav in če je bodisi res, izpustite niz. Na primer, če želite preveriti, ali obstaja datoteka, imenovana "file1.txt", ali obstaja datoteka, imenovana "file1.doc", lahko uporabite ta ukaz: test-e file1.txt -o -e file1.doc && echo "datoteka1 obstaja" || echo "file1 ne obstaja"
Ključni del je -o, ki se zavzema ali . Obstaja boljši in bolj pogosto uporabljen način izvajanja istega testa, in sicer: test-e file1.txt || test-e file1.doc && echo "datoteka1 obstaja" || echo "file1 ne obstaja" Za primerjavo dejansko ne potrebujete besednega testa. Vse, kar morate storiti, je, da izjavo v oglatih oklepajih zapišete na naslednji način: -e file1.txt && echo "datoteka1 obstaja" || echo "file1 ne obstaja"
In v bistvu pomeni enako kot test. Zdaj veste, da to lahko izboljšate pri primerjavi več pogojev, kot sledi: 4 -eq 4 && "moo" = "moo" && echo "to je krava" || echo "ni krava"-e datoteka1.txt || -e file1.doc && echo "datoteka1 obstaja" || echo "file1 ne obstaja" Preskusni ukaz je bolj uporaben v skriptah, saj lahko preizkusite vrednost ene spremenljivke v drugem in krmilnem toku programa. V standardni ukazni vrstici jo lahko uporabite za preverjanje, ali datoteka obstaja ali ne.
Primerjava številk
Primerjanje besedila
Primerjanje datotek
Primerjava več pogojev
Odpravljanje testne ključne besede
Povzetek