Programovaniepokročilý

Čo je Bash?

Bash (Bourne Again SHell) je unixový shell a skriptovací jazyk vytvorený Brianom Foxom v roku 1989 pre projekt GNU. Je predvoleným shellom na väčšine Linux distribúcií a macOS. Bash sa používa na automatizáciu systémových úloh, správu serverov a DevOps.

Definícia Bash

Čo je Bash

Bash (Bourne Again SHell) je unixový príkazový interpreter a skriptovací jazyk, ktorý napísal Brian Fox pre projekt GNU ako slobodnú náhradu za Bourne shell (sh). Prvá verzia vyšla v roku 1989.

Bash slúži dvoma účelmi: je to interaktívny shell (príkazový riadok, kde zadávate príkazy) aj skriptovací jazyk (príkazy sa dajú uložiť do súboru a spúšťať ako program). Bash je predvoleným shellom na väčšine Linux distribúcií a bol predvoleným shellom na macOS do verzie Catalina (2019).

Čo sa dá robiť v Bash

  • Automatizácia — zálohovanie súborov, nasadzovanie aplikácií, cron úlohy
  • Správa serverov — monitorovanie, konfigurácia, aktualizácie
  • DevOps — CI/CD pipeliny, Docker skripty, infraštruktúra
  • Spracovanie textu — kombinácia nástrojov ako grep, sed, awk cez rúry (pipes)
  • Systémová administrácia — správa používateľov, oprávnení a služieb

Kľúčové koncepty

Bash je postavený na filozofii Unixu: malé programy, ktoré robia jednu vec dobre a spájajú sa cez rúry (pipes). Podporuje premenné, podmienky (if/else), cykly (for, while), funkcie a presmerovanie vstupov a výstupov. Kombinácia príkazov grep, sed, awk, sort a cut cez rúry umožňuje spracovať obrovské množstvo dát bez jediného riadku Pythonu.

Praktický príklad

Príklad: Systémový administrátor potrebuje každú noc zálohovať databázu a odstrániť zálohy staršie ako 30 dní.

Napíše Bash skript, ktorý: 1) vytvorí dump databázy pomocou pg_dump, 2) skomprimuje ho pomocou gzip, 3) nahrá na vzdialený server cez rsync a 4) vymaže lokálne zálohy staršie ako 30 dní pomocou find -mtime +30 -delete. Skript sa spúšťa automaticky cez cron každú noc o 2:00.

Často kladené otázky

Aký je rozdiel medzi Bash a termínalom?

Terminál je aplikácia (okno), v ktorom píšete príkazy. Bash je shell — program, ktorý interpretuje tieto príkazy. V jednom termináli môžete spustiť rôzne shelly (Bash, Zsh, Fish).

Je Bash rovnaký na Linuxe a macOS?

Bash funguje na oboch systémoch, ale macOS od verzie Catalina (2019) používa predvolene Zsh. Bash sa dá na macOS stále nainštalovať cez Homebrew. Väčšina Bash skriptov funguje na oboch systémoch.

Aký je rozdiel medzi Bash a Python skriptom?

Bash vyniká v spúšťaní systémových príkazov, manipulácii so súbormi a prepájaní nástrojov cez rúry. Python je lepší na komplexnú logiku, prácu s API a spracovanie štruktúrovaných dát. Pre jednoduché systémové úlohy je Bash rýchlejší na napísanie.

Potrebujem vedieť Bash ako webový vývojár?

Áno, základy Bash sú nevyhnutné. Webový vývojár používa príkazový riadok denne — git príkazy, npm/pnpm, Docker, SSH na servery a CI/CD pipeliny. Znalosť Bash výrazne zvyšuje produktivitu.

Súvisiace pojmy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.