《生活提示》 20180322 您的睡眠还好吗?
test
je program nacházející se v Unixovych systémech. Slou?í k vyhodnocení vyrazu, ktery 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 unixovych 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í
[editovat | editovat zdroj]Návratová hodnota
[editovat | editovat zdroj]V p?ípadě pravdivého vyrazu vrací p?íkaz test
0.
Uve?me typické p?íklady pou?ití:
(Ne)Rovnost ?etězc?
[editovat | editovat zdroj] test $STR1 = $STR2
test $STR1 != $STR2
Relace mezi dvěma celymi ?ísly
[editovat | editovat zdroj] -eq: rovnost,
-ge: levy operand vět?í nebo roven pravému
-gt: levy operand vět?í ne? pravy
analogicky -le, -lt, -ne
P?íklad (je levy operand vět?í ne? pravy?):
test $NUM1 -gt $NUM2
Práce se soubory
[editovat | editovat zdroj]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í
[editovat | editovat zdroj]Uve?me p?íklad pro kontrolu po?tu argument?. P?edpokládejme, ?e jsme napsali skript, ktery vy?aduje pevny 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:
if test "$#" -ne 3; then
echo "Spatny pocet argumentu!"
exit 1
fi
Nebo jinym 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
.