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
Podobné kurzy
podľa názvu a lokality