Content-Length: 64753 | pFad | http://cs.wikipedia.org/wiki/Test_(Unix)

test (Unix) – Wikipedie Přeskočit na obsah

test (Unix)

Z Wikipedie, otevřené encyklopedie

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.

Návratová hodnota

[editovat | editovat zdroj]

V případě pravdivého výrazu 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 celými čísly

[editovat | editovat zdroj]
  -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

[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, 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:

 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.









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://cs.wikipedia.org/wiki/Test_(Unix)

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy