PředchozíNahoruDalšíObsah

4.3 Until ... do ... done

Struktura until je velice podobná struktuře while. Jediný rozdíl je ve vyhodnocování podmínky pro běh bloku kódu mezi slovy do a done. Ve struktuře until se blok kódu provede pouze, je-li podmínka vyhodnocena jako false (nepravda). Zde je příklad struktury:

#!/bin/bash
x=0
until [ "$x" -ge 10 ]; then
  echo "Aktuální hodnota x: $x"
  x=$(expr $x + 1)
  sleep 1
done

Tento kód vypadá velice podobně kódu příkladu uvedeného v předchozí kapitole. Vlastně se liší jen ve dvou věcech. Je použita struktura until a tedy příkaz test je upraven tak, aby byla struktura ukončena bude-li hodnota proměnné x větší nebo rovno 10. Znamená to tedy, že se vypíší hodnoty pouze od 0 do 9.

Příkaz sleep pozastaví běh skriptu na tolik sekund, kolik je uveden parametr (v našem případě pozastaví běh skriptu na 1 sekundu). Další možnosti příkazu sleep se můžete dozvědět v manuálových stránkách, které říkají o příkazu sleep následující:

SLEEP(1)                                                 SLEEP(1)

JMÉNO
       sleep - čeká zadaný časový interval

POUŽITÍ
       sleep [--help] [--version] číslo[smhd]...

POPIS
       Tato  manuálová  stránka popisuje GNU verzi příkazu sleep.
       Příkaz sleep čeká časový interval, který je součtem hodnot
       zadaných  parametry.   Každý  argument  je číslo nepovinně
       následované označením jednotky.  Implicitní jednotkou jsou
       sekundy. Povolené jednotky jsou:

       s      sekundy

       m      minuty

       h      hodiny

       d      dny

   VOLBY
       --help Vypíše  návod k použití na standardní výstup a bez­
              chybně skončí.

       --version
              Vypíše číslo verze na standardní výstup a bezchybně
              skončí.

FSF                    GNU Shell Utilities                      1

PředchozíNahoruDalšíObsah

10. dubna 2001 18:07