Detail kurzu

Linux/UNIX Bash II. - pokročilé skriptovanie

IT LEARNING SLOVAKIA, s.r.o.

Údaje aktualizované 27. 8. 2026

Popis kurzu

Napísať skript, ktorý funguje, je jedna vec. Napísať skript, ktorý o pol roka ešte pochopíte, ktorý sa nerozsype pri neočakávanom vstupe a po ktorom nezostanú v systéme dočasné súbory, je vec druhá. Kurz Bash II. je presne o tomto rozdiele. Nadväzuje na základy skriptovania a venuje sa tomu, čo odlišuje jednorazový skript od nástroja, ktorý môžete nasadiť do reálnej prevádzky a odovzdať kolegom. Prvý deň patrí práci s textom a štruktúre kódu. Naučíte sa regulárne výrazy a použijete ich najprv priamo v podmienkach skriptu na validáciu vstupu, potom aj v externých nástrojoch. Prejdete si skladanie príkazov do rúr pomocou grep, cut, tr, sort, uniq a sed, teda spôsob, akým sa z niekoľkých jednoduchých nástrojov dá za pár sekúnd vyhodnotiť rozsiahly logový súbor. Osvojíte si pokročilú prácu s obsahom premennej, ktorá to isté zvládne priamo v Bashi bez spúšťania ďalších procesov. Kód si potom rozdelíte do funkcií, vytvoríte si vlastnú knižnicu opakovane použiteľných funkcií a doplníte prácu s poliami vrátane asociatívnych. Druhý deň je o spoľahlivosti. Naučíte sa spracovať prepínače skriptu cez getopts a vypísať nápovedu, takže sa váš skript ovláda ako bežný systémový nástroj. Osvojíte si ošetrenie chýb a prísnejší režim behu, aby skript neprešiel mlčky cez zlyhaný príkaz ani cez preklep v názve premennej. Naučíte sa skripty ladiť, teda nechať si vypísať, ktoré riadky sa naozaj vykonali a kde sa priebeh rozišiel s očakávaním. Doplníte bezpečnú prácu s dočasnými súbormi a ich automatické upratanie aj v prípade, že skript spadne alebo ho niekto preruší. Na záver si necháte celý svoj kód skontrolovať nástrojom ShellCheck. Kurz uzatvára spoločná tvorba väčšieho nástroja na správu používateľov, ktorý spája takmer všetko naučené: menu, validáciu vstupu regulárnym výrazom, funkcie, prepínače, ošetrenie chýb aj záverečnú kontrolu kvality. Školenie je určené pre administrátorov, DevOps inžinierov a používateľov Linuxu, ktorí už vedia napísať jednoduchý skript s premennými, podmienkami a cyklami – tieto znalosti získate na kurze Bash I. Pracovať budete vo vlastnom prostredí na školiacom serveri, takže si nemusíte nič pripravovať na svojom počítači.

Obsah kurzu

Zopakovanie základov

  • Rýchly rozbeh na začiatku kurzu
    • Stavba a spustenie skriptu
    • Premenné, podmienky, vetvenie a cykly

Regulárne výrazy

  • Použitie regulárnych výrazov v podmienkach
  • Stavba regulárneho výrazu
    • Triedy znakov a POSIX triedy
    • Ohraničenie reťazca
    • Určenie počtu opakovaní
  • Práca so zachytenými časťami výrazu
  • Validácia používateľského vstupu

Textové nástroje v rúrach

  • Vyhľadávanie a filtrovanie textu (grep)
  • Výber stĺpcov a úprava znakov (cut, tr)
  • Triedenie a odstránenie duplicít (sort, uniq)
  • Nahradzovanie textu (sed)
  • Skladanie nástrojov do jednej rúry

Pokročilá práca s obsahom premennej (parameter expansion)

  • Predvolené a povinné hodnoty
  • Podreťazce a dĺžka reťazca
  • Orezanie začiatku a konca reťazca
  • Nahradzovanie v reťazci
  • Typické použitie pri práci s cestami a názvami súborov

Pokročilé testovacie podmienky

  • Rozšírené testovanie súborov
  • Porovnanie súborov podľa času zmeny
  • Kombinovanie a zátvorkovanie podmienok

Funkcie

  • Definícia a volanie funkcie
  • Parametre funkcie a lokálne premenné (local)
  • Návratová hodnota a vrátenie výsledku (return)
  • Rekurzívne volanie
  • Vlastná knižnica funkcií v samostatnom súbore (source)

Polia

  • Indexované polia
    • Vytvorenie, prístup k prvkom a počet prvkov
    • Prechod poľom v cykle
  • Asociatívne polia
    • Práca s kľúčom a hodnotou

Spracovanie parametrov skriptu

  • Obmedzenia jednoduchého spracovania argumentov
  • Spracovanie prepínačov pomocou getopts
    • Povinné a voliteľné argumenty
    • Výpis nápovedy skriptu

Pokročilé presmerovanie

  • Spojenie bežného a chybového výstupu
  • Vstup zadaný priamo v príkaze (here-string)
  • Súčasný výpis na obrazovku a do súboru (tee)
  • Oddelený bežný a chybový log skriptu

Riešenie chýb, ladenie a upratovanie

  • Ošetrenie chýb
    • Reakcia na neúspešne skončený príkaz
    • Prísnejší režim behu skriptu (set -e, set -u, set -o pipefail)
  • Ladenie skriptov
    • Kontrola syntaxe bez spustenia (bash -n)
    • Sledovanie vykonávaných riadkov (bash -x, set -x)
    • Ladenie len vybranej časti skriptu
  • Upratovanie po sebe
    • Bezpečné dočasné súbory (mktemp)
    • Zachytenie prerušenia a pádu skriptu (trap)
    • Súbežný beh viacerých inštancií skriptu

Konfiguračné súbory Bashu

  • Súbory v domovskom adresári a kedy sa spracujú (.bashrc, .bash_profile, .bash_history)
  • Prihlasovací a neprihlasovací shell
  • Dôsledky pre skripty spúšťané automaticky

Generovanie náhodných reťazcov

  • Zdroje náhodnosti v systéme (/dev/urandom)
  • Generovanie náhodného textu a hesiel (openssl)
  • Generovanie súborov s náhodným obsahom (dd)

Kontrola kvality skriptov

  • Automatická kontrola napísaného skriptu nástrojom ShellCheck
    • Najčastejšie nálezy a ich význam
    • Integrácia do vývojového prostredia (VS Code)

Záverečné praktické cvičenie

  • Tvorba nástroja na správu používateľov
    • Menu, farebný výstup a validácia vstupu
    • Pridávanie, blokovanie a odblokovanie používateľov (useradd, passwd)
    • Ošetrenie chýb a záverečná kontrola kvality skriptu

Cieľová skupina

mierne pokročilý
Hodnotenie





Organizátor