K

Edukace v KBB

Skriptování v Bash
Zpět na blog

Skriptování v Bash

Leden 2026

Skriptování v Bash

Úvod do Bash skriptování

Bash (Bourne Again SHell) je populární příkazový interpretr používaný v operačních
systémech Linux a Unix. Skriptování v Bash umožňuje automatizovat různé úkoly, což šetří
čas a zvyšuje efektivitu práce. Tento článek vám představí základy syntaxe a struktury Bash
skriptů, ukáže, jak vytvářet a spouštět vlastní skripty, a vysvětlí, jak automatizovat úlohy
pomocí Bash.

Základy syntaxe a struktury Bash skriptů

Struktura Bash skriptu

Každý Bash skript začíná tzv. "shebangem", který říká systému, jaký interpretr použít pro
vykonání skriptu. Následují příkazy, které skript vykonává.

#!/bin/bash
# Tento skript vypíše "Ahoj, světe!"
echo "Ahoj, světe!"
  • Shebang (#!/bin/bash): Určuje, že skript bude vykonáván pomocí Bash.
  • Komentáře (#): Text za znakem # je komentář a není vykonáván. Slouží k vysvětlení
    kódu.
  • Příkazy (echo): echo vypíše text na obrazovku.
Proměnné

Proměnné slouží k ukládání hodnot, které lze později v skriptu použít.

#!/bin/bash
# Skript pro zobrazení jména
jmeno="Anna"
echo "Ahoj, $jmeno!"
  • Definice proměnné: jmeno="Anna"
  • Použití proměnné: $jmeno
Podmínky

Podmínky umožňují vykonávat příkazy na základě splnění určitých kritérií.

#!/bin/bash
# Skript kontrolující, zda je soubor
soubor="dokument.txt"
if [ -f "$soubor" ]; then
echo "Soubor $soubor existuje."
else
echo "Soubor $soubor neexistuje."
fi
  • if [ -f "$soubor" ]; then: Kontroluje, zda soubor existuje.
  • echo: V ypíše zprávu podle výsledku podmínky.
  • fi: Ukončuje podmínku.
Smyčky

Smyčky opakují určité příkazy vícekrát.
For smyčka:

#!/bin/bash
# Skript vypisující čísla od 1 do 5
for i in {1..5}
do
echo "Číslo: $i"
done
  • for i in {1..5}: Prochází čísla od 1 do 5.
  • echo "Číslo: $i": V ypíše aktuální číslo.
    While smyčka:
#!/bin/bash
# Skript vypisující čísla od 1 do 5 pomocí while smyčky
i=1
while [ $i -le 5 ]
do
echo "Číslo: $i"
((i++))
done
  • while [ $i -le 5 ]: Pokračuje, dokud je i menší nebo rovno 5.
  • ((i++)): Zvyšuje hodnotu i o 1.
Funkce

Funkce umožňují opakované použití kódu.

#!/bin/bash
# Skript s funkcí na pozdravení
pozdrav() {
echo "Ahoj, $1!"
}
pozdrav "Anna"
pozdrav "David"
  • Definice funkce: pozdrav() { ... }
  • V olání funkce: pozdrav "Anna"

V ytváření a spouštění vlastních skriptů

Krok 1: V ytvoření skriptu
  1. Otevřete textový editor: Můžete použít Nano, Vim nebo grafický editor jako Gedit.
  2. Napište váš skript: Například:
#!/bin/bash
echo "Toto je můj první Bash skript!"
  1. Uložte soubor s příponou .sh: Například prvni_skript.sh.
Krok 2: Nastavení spustitelnosti

Před spuštěním skriptu je třeba nastavit, aby byl spustitelný.

chmod +x prvni_skript.sh
  • chmod +x: Přidá právo na spuštění skriptu.
Krok 3: Spuštění skriptu

Skript lze spustit následujícím způsobem:

./prvni_skript.sh

Výstup bude:

Toto je můj první Bash skript!

Automatizace úloh a zvýšení efektivity práce

Bash skripty jsou velmi užitečné pro automatizaci opakujících se úkolů, jako je zálohování
dat, správa souborů nebo instalace softwaru.

Příklad 1: Automatické zálohování složky
#!/bin/bash
# Skript pro zálohování složky Dokumenty
zdroj="/home/uzivatel/Dokumenty"
cil="/home/uzivatel/Zalohy/Dokumenty_$(date +%Y%m%d).tar.gz"
tar -czvf $cil $zdroj
echo "Záloha byla vytvořena: $cil"
  • zdroj: Cesta ke složce, kterou chcete zálohovat.
  • cil: Cesta k záložnímu souboru s aktuálním datem.
  • tar -czvf: V ytváří komprimovaný archiv.
  • echo: V ypíše zprávu o úspěšném vytvoření zálohy.
Naplánování skriptu pomocí cron

Cron je nástroj pro plánování úloh v Linuxu. Skript můžete naplánovat, aby běžel
automaticky každý den.

  1. Otevřete crontab:
crontab -e
  1. Přidejte následující řádek pro spuštění skriptu každý den v 2 hodiny ráno:
0 2 * * * /home/uzivatel/Zalohy/prvni_skript.sh
  • 0 2 * * *: Časový plán (minuta, hodina, den, měsíc, den v týdnu).
  • /home/uzivatel/Zalohy/prvni_skript.sh: Cesta ke skriptu.
Příklad 2: Hromadné přejmenování souborů
#!/bin/bash
# Skript pro přejmenování všech .txt souborů na .bak
for file in *.txt
do
mv "$file" "${file%.txt}.bak"
done
echo "Přejmenování dokončeno."
  • for file in *.txt: Pro každý soubor s příponou .txt.
  • mv "$file" "${file%.txt}.bak": Přejmenuje soubor na .bak.
  • echo: V ypíše zprávu o dokončení.
Příklad 3: Automatická aktualizace systému
#!/bin/bash
# Skript pro automatickou aktualizaci systému na Ubuntu
sudo apt update && sudo apt upgrade -y
echo "Systém byl aktualizován."
  • sudo apt update: Aktualizuje seznam dostupných balíčků.
  • sudo apt upgrade -y: Aktualizuje nainstalované balíčky bez potvrzení.
  • echo: V ypíše zprávu o úspěšné aktualizaci.

Praktické tipy pro Bash skriptování

  • Testování skriptů: Před nasazením skriptu ho vždy otestujte, abyste se ujistili, že
    funguje správně.
  • Používejte komentáře: Komentáře pomáhají vysvětlit, co skript dělá, což usnadňuje
    jeho údržbu.
  • Chybová kontrola: Přidejte kontrolu chyb, aby skript správně reagoval na neočekávané
    situace.
if [ $? -eq 0 ]; then
echo "Příkaz byl úspěšný."
else
echo "Příkaz selhal."
fi
  • Modularita: Rozdělte složité skripty na menší funkce pro lepší přehlednost a údržbu.
  • Používejte proměnné: Ukládejte často používané hodnoty do proměnných pro snadnější
    úpravy skriptu.
#!/bin/bash
cesta="/home/uzivatel/Dokumenty"
echo "Pracuji se složkou: $cesta"

Další zdroje a doporučení

Příklady použití Bash skriptů

  • Automatická aktualizace systému:
#!/bin/bash
sudo apt update && sudo apt upgrade -y
echo "Systém byl aktualizován."
  • Hromadné přejmenování souborů:
#!/bin/bash
for file in *.txt
do
mv "$file" "${file%.txt}.bak"
done
echo "Přejmenování dokončeno."
  • Zálohování databáze:
#!/bin/bash
databaze="/var/lib/mysql/mojedb"
zalohy="/home/uzivatel/Zalohy/mojedb_$(date +%Y%m%d).sql"
mysqldump -u uzivatel -p mojedb > $zalohy
echo "Záloha databáze byla vytvořena: $zalohy"

Interaktivní aktivita

Kvíz: Bash skriptování

1 / 3

Co znamená shebang #!/bin/bash na začátku skriptu?