Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Informace
Jednoduchý cyklus
8. srpna 2002, 00.00 | Po příkazu if, který jsme si ukázali v posledních dílech, se dnes podíváme na základní příkazy cyklu: while, until a repeat. Všechny mají stejný účel: opakovat podle potřeby vícekrát provádění seznamu (tj. požadovaného příkazu nebo jejich skupiny).
Po příkazu if, který jsme si ukázali v posledních dílech, se dnes podíváme na základní příkazy cyklu: while, until a repeat. Všechny mají stejný účel: opakovat podle potřeby vícekrát provádění seznamu (tj. požadovaného příkazu nebo jejich skupiny).
Příkaz repeat
Nejjednodušším příkazem je repeat. Jeho obecný tvar vypadá takto
repeat výraz do seznam done
Shell nejprve vyhodnotí aritmetický výraz (s aritmetikou, již shell rozumí, jsme se seznámili už ve čtyřicátém dílu v souvislosti s příkazem let), a pak prostě provede seznam tolikrát, jaké číslo mu vyjde:
134 /tmp> repeat 3 do echo Haha ; done
Haha
Haha
Haha
135 /tmp> repeat $((1-2+3)) do echo Haha ; done
Haha
Haha
136 /tmp>
Pokud je výsledek záporný nebo nula, seznam se neprovede vůbec.
Příkazy while a until
Na rozdíl od příkazu repeat, jehož argumentem je číslo, argumentem příkazů while a until je obecná podmínka, stejně, jako v příkazu if:
while seznam1 do seznam2 done
until seznam1 do seznam2 done
Příkaz while provádí seznam2 tak dlouho, dokud podmínka platí (tj. seznam1 vrací nulovou návratovou hodnotu). Naopak, příkaz until provádí seznam2 tak dlouho, dokud podmínka neplatí.
148 /tmp> a=0
149 /tmp> while [[ $a -lt 10 ]] do a=$((a+3)) ; echo a=$a ; done
a=3
a=6
a=9
a=12
150 /tmp> a=
151 /tmp> touch xxxxx
152 /tmp> until [[ -a $a ]] do a=x$a ; echo checking $a; done ; echo $a exists
checking x
checking xx
checking xxx
checking xxxx
checking xxxxx
xxxxx exists
153 /tmp>
Obsah seriálu (více o seriálu):
- Obcování s ďáblem
- Obcování s ďáblem 2 - základy
- Obcování s ďáblem 3 - Práce se soubory
- Obcování s ďáblem 4 - Další práce se soubory
- Obcování s ďáblem 5 - Stále soubory, hlavně linky
- Obcování s ďáblem 6: Pár zbývajících drobností
- Obcování s ďáblem 7: Samá voda, přihořívá, hoří!
- Obcování s ďáblem 8: Jak se do shellu volá, tak se program ozývá
- Obcování s ďáblem 9: Nové finty na programy
- Obcování s ďáblem 10: Do fronty, pánové, do fronty!
- Obcování s ďáblem 11: Standardní vstup a výstup
- Obcování s ďáblem 13: Další triky
- Obcování s ďáblem 14: Vyšší škola hledání souborů
- Obcování s ďáblem 15: Příkaz find stokrát jinak
- Obcování s ďáblem 16: Co se ještě dá uvařit z příkazu find
- Obcování s ďáblem 17: Regulární výrazy
- Obcování s ďáblem 18: Speciální regulární výrazy
- Obcování s ďáblem 19: Skládání regulárních výrazů
- Obcování s ďáblem 20: Regulární výrazy se zpětnými odkazy
- Obcování s ďáblem 21:K čemu je dobrý grep...
- Zázraky ihned, nemožné na počkání: sed
- Obcování s ďáblem - další finty s příkazem sed
- Rozsáhlejší příklad se sedem
- Obcování s ďáblem: Další kouzla, aneb awk
- Awk a proměnné
- Obcování s ďáblem 27: Awk a výrazy
- Obcování s ďáblem: Awk a funkce
- Awk a příkazy
- Co je to vlastně "uživatel"?
- Vlastnictví objektů
- Přístupová práva
- Vlastník, skupina, ostatní...
- Jak je to se skupinami?
- Skupiny a uživatelé
- Scripty
- Komentáře, a volba shellu
- Pro skript může být shell cokoli!
- Shellové skripty a argumenty
- Skripty a proměnné: aritmetika
- Proměnné shellu, "dědění" hodnot
- Práce s proměnnými
- Práce se jmény souborů
- Pole hodnot
- Další triky kolem polí...
- Standardní proměnné shellu
- Základní příkazy pro skripty
- Příkaz if
- Speciální podmínkové příkazy
- Podmínky pro práci se soubory
- Jednoduchý cyklus
- Příkaz for a pomocné příkazy break a continue
- Příkaz case
- Příkazy exit a select
- Rejstřík a přehled
- Procesy
- Informace o procesech
- Další klíčová slova pro příkaz ps
- Příkaz ps: několik praktických přepínačů
- A k čemu že je "ps" dobré?
- Copak procesor, s pamětí je to horší
- Virtuální paměť
- A ještě jednou virtuální paměť
- Zpět k příkazu ps
- Skutečný žrout paměti
- Ještě jednou top
- Doplněk k topu: vm_stat
- Co to tedy všechno znamená?
- Nevychází nám dal a má dáti?
- Kam se stránky ukládají?
- Změna odkládacího disku
- Změna odkládacího disku / fstab
- Poslední poznámka k fstab
- A jak to je se soubory?
- Co vlastně příkaz lsof vypisuje?
- Příkaz lsof a obsah sloupce NAME
- SIPS - Terminál není jen pro nadšence UNIXu
- Tak nám zabili NetInfo, paní Müllerová