Obsah

Bash (Bourne Again SHell)

Bash je vylepšená verze původního Unixového shellu (sh). Byl vytvořen v rámci projektu GNU Brianem Foxem v roce 1989. Dnes je výchozím shellem pro většinu linuxových distribucí a klíčovým nástrojem pro správce systémů, vývojáře a DevOps inženýry.

1. Základní principy fungování

Bash funguje v cyklu REPL (Read-Eval-Print Loop):

1. **Read:** Přečte příkaz, který uživatel napsal.
2. **Eval:** Vyhodnotí příkaz (expanze proměnných, wildcards, hledání cesty k programu).
3. **Print:** Spustí program a vypíše výsledek na standardní výstup.
4. **Loop:** Čeká na další příkaz.

2. Klíčové funkce Bashe

Příkazová runda (Piping & Redirection)

Jednou z největších sil Bashe je schopnost propojovat jednoduché programy do složitých řetězců:

Expanze a Wildcards

3. Programování v Bashi (Bash Scripting)

Bash skripty umožňují automatizovat opakující se činnosti. Skript je v podstatě textový soubor se seznamem příkazů.

Struktura skriptu

Každý skript by měl začínat tzv. Shebangem, který říká systému, jaký interpret použít:

#!/bin/bash
# Toto je komentář
echo "Zálohuji data..."
tar -czf zaloha.tar.gz /home/uzivatel/dokumenty
echo "Záloha hotova."

Logické konstrukce

Bash podporuje podmínky, cykly a funkce:

4. Uživatelské přizpůsobení

Chování Bashe lze ovlivnit v konfiguračních souborech:

Příklad aliasu: alias ll='ls -la –color=auto'

5. Srovnání s jinými shelly

Shell Charakteristika
sh Původní Bourne shell, velmi jednoduchý, dnes se používá pro čistou kompatibilitu.
Bash Standard, bohaté funkce, skvělý pro interaktivní práci i skripty.
Zsh Modernější, populární na macOS, pokročilé doplňování příkazů (plugin Oh My Zsh).
Fish Extrémně uživatelsky přívětivý, barevný, ale není plně kompatibilní s Bashem.

6. Proč je Bash nepostradatelný?

1. **Správa serverů:** Většina cloudových instancí se spravuje vzdáleně přes SSH právě pomocí Bashe.
2. **[[CI/CD]] Pipelines:** Automatizační skripty v GitLabu nebo GitHub Actions jsou často psány v Bashi.
3. **Rychlost:** Často je rychlejší napsat jednořádkový příkaz v Bashi než hledat funkci v grafickém rozhraní.

Tip pro začátečníky: Naučte se klávesovou zkratku Tab. Bash za vás automaticky doplní názvy souborů a příkazů, což dramaticky zrychluje práci.

Související: Linux, I/O, DevOps, Python