Teszt

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2017. március 24-én felülvizsgált verziótól ; az ellenőrzések 19 szerkesztést igényelnek .

A test  egy UNIX segédprogram a fájltípusok ellenőrzésére és az értékek összehasonlítására. A kifejezés kiértékelésétől függően 0 (igaz) vagy 1 (hamis) visszatérési kódot ad vissza expr. A kifejezések lehetnek unárisak vagy binárisak. Az unáris kifejezéseket gyakran használják a fájl állapotának ellenőrzésére. Összehasonlíthatja a számokat és a karakterláncokat is.

A UNIX System III -tól kezdve a segédprogram beépített lett, második formája pedig [. [egy]

Használat

Általában egyszerű shell-szkriptekben használják különféle ellenőrzésekhez. A következő példa törli a szokásos test.txt fájlt, ha létezik, vagy üzenetet jelenít meg, hogy a fájl nem létezik.

#!/bin/sh ha teszt -f teszt.txt akkor rm teszt.txt else echo 'fájlteszt.txt nem található' fi

A szkript kódjának lerövidítéséhez használja a „[” operátorpárt a teszt szinonimájaként. A pár operátor szóközt igényel a zárójelek között, mivel a [ (zárójel) egy shell parancs , a POSIX - kompatibilis shelleknél pedig szóközt kell hagyni a parancs és argumentumai között.

#!/bin/sh if [ -f test.txt ] then rm teszt.txt else echo 'fájlteszt.txt nem található' fi

Indítási beállítások

  • -b file igaz, ha a fájl létezik, és egy speciális blokkeszköz.
  • -c file igaz, ha a fájl létezik és karaktereszköz.
  • -d file igaz, ha a fájl létezik, és egy könyvtár.
  • -e file igaz, ha a fájl létezik.
  • -f file igaz, ha a fájl létezik, és normál fájl.
  • -g file igaz, ha a fájl létezik, és csoportazonosítója (set-group-id) van beállítva.
  • -k file igaz, ha a fájlban be van állítva a tapadó bit.
  • -L file igaz, ha a fájl létezik és szimbolikus hivatkozás.
  • -p file igaz, ha a fájl létezik, és egy nevű cső (pipe).
  • -r file igaz, ha a fájl létezik és olvasható.
  • -s file igaz, ha a fájl létezik és mérete nagyobb, mint nulla.
  • -S file igaz, ha a fájl létezik és egy socket.
  • -t [fd] igaz, ha az fd nyitva van a terminálon. Ha az fd ki van hagyva, az alapértelmezett érték 1 (stdout).
  • -u file igaz, ha a fájl létezik, és be van állítva a felhasználói bit (set-user-id).
  • -w file igaz, ha a fájl létezik és írható.
  • -x file igaz, ha a fájl létezik és végrehajtható.
  • -O file igaz, ha a fájl létezik, és tulajdonosa érvényes felhasználói azonosítóval rendelkezik.
  • -G file igaz, ha a fájl létezik, és a tulajdonosa érvényes csoportazonosítóval rendelkezik.
  • file1 -nt file2 igaz, ha a fájl1 újabb (módosítási dátum), mint a fájl2.
  • file1 -ot file2 igaz, ha a fájl1 régebbi, mint a fájl2.
  • file1 -ef file2 igaz, ha a fájl1 és a fájl2 ugyanazzal az eszköz- és inoódszámmal rendelkezik.
  • -z string— igaz, ha a karakterlánc hossza nulla.
  • -n string akkor igaz, ha a karakterlánc hossza nem nulla.
  • string1 = string2 igaz, ha a karakterláncok egyenlőek.
  • string1 != string2 igaz, ha a karakterláncok nem egyenlőek.
  • ! expr igaz, ha a kifejezés hamis.
  • expr1 -a expr2 akkor igaz, ha az expr1 és a expr2 is igaz.
  • expr1 -o expr2 akkor igaz, ha az expr1 vagy expr2 kifejezések közül legalább egy igaz.
  • arg1 %оператор% arg2 -eq, -ne, -lt, -le, -gt, или -ge - ezek a bináris aritmetikai műveletek igazat adnak vissza, ha arg1 egyenlő (-eq), nem egyenlő (-ne), kisebb, mint (-lt), kisebb vagy egyenlő (-le), nagyobb, mint (-gt), vagy nagyobb vagy egyenlő (-ge), mint arg2. Az arg1 és arg2 lehetnek pozitív egészek, negatív egészek, vagy speciális -l karakterlánc-kifejezések, amelyek egy karakterlánc hosszát számítják ki.

Jegyzetek

  1. hagyományos Bourne shell család / történelem és fejlődés . www.in-ulm.de. Letöltve: 2017. július 15. Az eredetiből archiválva : 2020. április 14.

Linkek