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.
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.
Jednou z největších sil Bashe je schopnost propojovat jednoduché programy do složitých řetězců:
ls > soubory.txt (zapíše výpis do souboru).cat data.txt | grep „Chyba“ | wc -l (přečte soubor, najde řádky s chybou a spočítá je).rm *.log smaže všechny logy).echo $USER).Bash skripty umožňují automatizovat opakující se činnosti. Skript je v podstatě textový soubor se seznamem příkazů.
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."
Bash podporuje podmínky, cykly a funkce:
if [ $a -gt $b ]; then … fifor i in {1..5}; do echo $i; doneChování Bashe lze ovlivnit v konfiguračních souborech:
Příklad aliasu:
alias ll='ls -la –color=auto'
| 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. |
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.