Testa
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 24 mars 2017; kontroller kräver
19 redigeringar .
test är ett UNIX - verktyg för att kontrollera filtyper och jämföra värden. Returnerar en returkod på 0 (sant) eller 1 (falskt) beroende på utvärderingen av uttrycket expr. Uttryck kan vara antingen unära eller binära. Unära uttryck används ofta för att kontrollera en fils status. Du kan också jämföra siffror och strängar.
Från och med UNIX System III blev verktyget inbyggt, och dess andra form, [. [ett]
Användning
- test [expr]
- test {--help,--version}
Används vanligtvis i enkla skalskript för olika typer av kontroller. Följande exempel tar bort den vanliga test.txt-filen om den finns, eller visar ett meddelande om att filen inte finns.
#!/bin/sh
om test -f test.txt
då
rm test.txt
annars
echo 'filen test.txt hittades inte'
fi
För att förkorta skriptkoden använd paroperatorn '[' som en synonym för test. Paroperatorn kräver ett mellanslag mellan parenteser eftersom [ (parentes) är ett skalkommando och POSIX -kompatibla skal kräver ett mellanslag mellan kommandot och dess argument.
#!/bin/sh
om [ -f test.txt ]
då
rm test.txt
annars
echo 'filen test.txt hittades inte'
fi
Startalternativ
- -b file sant om filen finns och är en speciell blockenhet.
- -c file sant om filen finns och är en teckenenhet.
- -d file sant om filen finns och är en katalog.
- -e file är sant om filen finns.
- -f file sant om filen finns och är en vanlig fil.
- -g file sant om filen finns och har ett grupp-id (set-group-id) inställt.
- -k file sant om filen har den sticky biten inställd.
- -L file sant om filen finns och är en symbolisk länk.
- -p file sant om filen finns och är en namngiven pipe (pipe).
- -r file sant om filen finns och är läsbar.
- -s file sant om filen finns och har en storlek större än noll.
- -S file sant om filen finns och är en socket.
- -t [fd] sant om fd är öppet på terminalen. Om fd utelämnas är standardvärdet 1 (stdout).
- -u file true om filen finns och har användarbiten (set-user-id) inställd.
- -w file sant om filen finns och är skrivbar.
- -x file sant om filen finns och är körbar.
- -O file sant om filen finns och dess ägare har ett effektivt användar-ID.
- -G file sant om filen finns och dess ägare har ett effektivt grupp-ID.
- file1 -nt file2 sant om fil1 är nyare (modifierat datum) än fil2.
- file1 -ot file2 sant om fil1 är äldre än fil2.
- file1 -ef file2 sant om fil1 och fil2 har samma enhet och inodnummer.
- -z string— sant om strängens längd är noll.
- -n string är sant om strängens längd inte är noll.
- string1 = string2 sant om strängarna är lika.
- string1 != string2 sant om strängarna inte är lika.
- ! expr är sant om expr är falskt.
- expr1 -a expr2 är sant om både expr1 och expr2 är sant.
- expr1 -o expr2 är sant om minst ett av uttrycken expr1 eller expr2 är sant.
- arg1 %оператор% arg2 -eq, -ne, -lt, -le, -gt, или -ge - dessa binära aritmetiska operationer returnerar sant om arg1 är lika med (-eq), inte lika med (-ne), mindre än (-lt), mindre än eller lika med (-le), större än (-gt), eller större än eller lika med (-ge) än arg2, respektive. arg1 och arg2 kan vara positiva heltal, negativa heltal eller de speciella -l-stränguttryck som beräknar längden på en sträng.
Anteckningar
- ↑ traditionell Bourne-skalfamilj/historia och utveckling . www.in-ulm.de. Hämtad 15 juli 2017. Arkiverad från originalet 14 april 2020. (obestämd)
Länkar