Test (Unix)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

test je program nacházející se v Unixových systémech. Slouží k vyhodnocení výrazu, který je v daném formátu předán jako argumenty na příkazové řádce. Hojně se používá při vyhodnocování podmínek v shellech (např. bash). Při skriptování v unixových shellech se namísto test vyraz více používá ekvivalentní varianta [ vyraz ], která se více podobá programátorskému zápisu.

Použití

Návratová hodnota

V případě pravdivého výrazu vrací příkaz test 0.

Uveďme typické příklady použití:

(Ne)Rovnost řetězců

test $STR1 = $STR2 test $STR1 != $STR2

Relace mezi dvěma celými čísly

-eq: rovnost, -ge: levý operand větší nebo roven pravému -gt: levý operand větší než pravý analogicky -le, -lt, -ne

Příklad (je levý operand větší než pravý?):

test $NUM1 -gt $NUM2

Práce se soubory

Tento příkaz zkontroluje, zda $DIR existuje a je zároveň adresářem:

test -d $DIR

Přepínač -e použijeme pro ověření existence souboru.

Použití při větvení

Uveďme příklad pro kontrolu počtu argumentů. Předpokládejme, že jsme napsali skript, který vyžaduje pevný počet vstupních argumentů (např. +more 3). Proveďme tedy kontrolu a v případě neúspěchu vraťme kladnou hodnotu indikující neúspěch:.

if test "$#" -ne 3; then echo "Spatny pocet argumentu!" exit 1 fi

Nebo jiným zápisem:

if [ "$#" -ne 3 ]; then echo "Spatny pocet argumentu!" exit 1 fi

Za povšimnutí stojí to, že v druhém případě je potřeba správně vložit mezery. Níže uvedenému shell rozumět nebude

[3 -eq 3]

protože shell nezná program s názvem [3.

Kategorie:Standardní unixové příkazy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top