Přeskočit na obsah
Linux & Ops

Bash scripting od nuly — kompletní průvodce

12 min čtení
BashLinuxScriptingAutomatizace

Bash je nejrozšířenější shell na Linuxu a základní nástroj každého administrátora. Tento průvodce vás provede od prvního skriptu až po pokročilé techniky.

Proč se učit Bash?

Bash je výchozí shell na většině linuxových distribucí. Je dostupný prakticky všude — od serverů přes kontejnery až po CI/CD pipeline. Znalost Bashe znamená schopnost automatizovat cokoliv na příkazové řádce.

Na rozdíl od Pythonu je Bash přímo napojený na systém. Spouštění příkazů, práce se soubory a propojování nástrojů je přirozené a rychlé.

První skript

Každý Bash skript začíná shebangem:

#!/bin/bash echo "Ahoj, světe!"
chmod +x skript.sh ./skript.sh

Proměnné

NAME="server01" echo "Hostname: $NAME" echo "Počet CPU: $(nproc)"
  • Lokální proměnné — platí v aktuálním shellu
  • Exportované — dostupné v podprocesech (export VAR=value)
  • Speciální — $?, $#, $@, $0, $$

Podmínky

if [ -f "/etc/nginx/nginx.conf" ]; then echo "Nginx je nainstalován" else echo "Nginx nenalezen" fi
if [[ "$OS" == "Linux" && -d "/proc" ]]; then echo "Jsme na Linuxu" fi

Cykly

for f in /var/log/*.log; do echo "Zpracovávám: $f" wc -l "$f" done count=0 while [ $count -lt 5 ]; do echo "Iterace: $count" ((count++)) done

Funkce

backup_dir() { local src="$1" local dest="$2" local date=$(date +%Y%m%d) tar czf "${dest}/backup-${date}.tar.gz" "$src" } backup_dir /etc /tmp

Error handling

set -euo pipefail trap 'echo "Chyba na řádku $LINENO"; exit 1' ERR die() { echo "FATAL: $*" >&2; exit 1; } [ -f "$CONFIG" ] || die "Konfigurační soubor nenalezen"
  • Vždy set -euo pipefail
  • Uvozovky: "$var"
  • shellcheck pro statickou analýzu
  • Pro 100+ řádků zvažte Python

Bash je základ

Bash scripting je nezbytná dovednost. Začněte jednoduše, používejte shellcheck a postupně přidávejte složitost.

CORE SYSTEMS tým

Enterprise architekti a DevOps inženýři. Stavíme systémy, které fungují.