test je program nacházející se vUnixový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 vshellech (např. bash). Při skriptování v unixových shellech se namístotest vyraz více používá ekvivalentní varianta[ vyraz ], která se více podobá programátorskému zápisu.
V případě pravdivého výrazu vrací příkaztest 0.
Uveďme typické příklady použití:
test$STR1=$STR2test$STR1!=$STR2
-eq:rovnost,-ge:levýoperandvětšíneborovenpravému-gt:levýoperandvětšínežpravýanalogicky-le,-lt,-ne
Příklad (je levý operand větší než pravý?):
test$NUM1-gt$NUM2
Tento příkaz zkontroluje, zda$DIRexistuje a je zároveň adresářem:
test-d$DIR
Přepínač-e použijeme pro ověření existence souboru.
Uveďme příklad pro kontrolu počtu argumentů. Předpokládejme, že jsme napsaliskript, který vyžaduje pevný počet vstupních argumentů (např. 3). Proveďme tedy kontrolu a v případě neúspěchu vraťme kladnou hodnotu indikující neúspěch:
iftest"$#"-ne3;thenecho"Spatny pocet argumentu!"exit1fi
Nebo jiným zápisem:
if["$#"-ne3];thenecho"Spatny pocet argumentu!"exit1fi
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-eq3]
protože shell nezná program s názvem[3.