C2110 Operační systém UNIX a základy programování 8. lekce -1C2110 Operační systém UNIX a základy programování Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno 8. lekce PS/2020 Distanční forma výuky: Rev2 C2110 Operační systém UNIX a základy programování 8. lekce -2Shrnutí L7 ➢ Bash C2110 Operační systém UNIX a základy programování 8. lekce -3Blok rozhodování ano ne ? ano ne blok 1 blok 2 stav ? ano ne blok 1 změna inicializace Podmíněné vykonání bloku (podmínky) Cyklické vykonávání bloku (cykly) Typické použití bloku rozhodování počítadlo (proměnná) C2110 Operační systém UNIX a základy programování 8. lekce -4- Podmínky if prikaz1; then prikaz2 ... else prikaz3 ... fi if ! mkdir adresar 2> /dev/null; then echo "Nemohu vytvorit adresar!" exit 1 fi Logické výrazy: [[ cislo1 operator cislo2 ]] [[ operator retezec1 ]] Složitější logické výrazy: || logické nebo && logické ano ! negace Je možné testovat návratovou hodnotu příkazu nebo výsledek logického výrazu. Příklad: [[ (I -ge 5) && (I –le 10) ]] C2110 Operační systém UNIX a základy programování 8. lekce -5Cyklus pomocí while I < N ano ne I = I + 1 N=10 I=0 writestr "X" počítadlo (proměnná) N=10 I=0 while [[ I –lt N ]]; do echo "X" ((I = I + 1)) done Cyklus pomocí while se používá převážně v situacích, kdy je změna "počítadla" komplexní záležitost a nebo se nedá řídit vyčíslitelným počítadlem (závisí např. na výsledku běhu příkazu). while prikaz1; do prikaz2 ... done C2110 Operační systém UNIX a základy programování 8. lekce -6Nová látka ➢ Bash C2110 Operační systém UNIX a základy programování 8. lekce -7- Obsah ➢ Cyklus • for vs while ➢ Hledání chyb • syntaktické a logické chyby, zvýrazňování syntaxe, statická analýza, ladění ➢ Funkce ➢ Lízátková soutěž