Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Bash scripting od nuly — kompletní průvodce

01. 01. 2024 1 min čtení intermediate

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.

bashlinuxscriptingautomatizace