Definicja #
Bash (Bourne Again SHell) to interpreter poleceń i język skryptowy powstały w 1989 roku jako wolna alternatywa dla powłoki Bourne (sh). Jest domyślną powłoką w GNU/Linux oraz (do macOS Catalina) w systemach macOS.
Bash łączy dwie role:
- Interaktywna powłoka — interfejs do wydawania poleceń systemowych, nawigacji po systemie plików, uruchamiania programów
- Język skryptowy — automatyzacja powtarzalnych zadań przez skrypty .sh
Podstawowe konstrukcje języka Bash:
- Zmienne, tablice i podstawienie poleceń (
$(command)) - Instrukcje warunkowe (
if/elif/else) i pętle (for,while,until) - Funkcje i obsługa argumentów (
$1,$@,$#) - Potoki (pipes
|) i przekierowania (>,>>,2>&1) - Zarządzanie procesami, sygnały, pułapki (
trap)
Bash jest nieodłącznym elementem pipeline'ów CI/CD, skryptów konfiguracyjnych i zarządzania serwerami.
Zastosowania #
Bash jest niezbędny w wielu scenariuszach:
- Automatyzacja zadań administracyjnych: backupy, rotacja logów, monitoring
- Pipeline'y CI/CD — skrypty budowania, testowania i wdrażania w Jenkins, GitLab CI, GitHub Actions
- Konfiguracja serwerów i provisioning (razem z Ansible, Terraform)
- Przetwarzanie plików tekstowych z narzędziami grep, sed, awk, cut, sort
- Bootstrapping środowisk deweloperskich i skrypty instalacyjne
Ścieżka nauki #
Bash jest dostępny na każdym systemie Linux/macOS — nie potrzeba specjalnego środowiska, żeby zacząć.
Zacznij od:
- Podstawowe polecenia:
ls,cd,cp,mv,rm,grep,find - Pisanie pierwszych skryptów: zmienne, if, pętle for
- Potoki i przekierowania — łączenie poleceń
Następnie opanuj:
- Wyrażenia regularne z grep i sed
- Przetwarzanie tekstu z awk
- Debugowanie skryptów:
set -x,set -e,set -u - ShellCheck — linter do wykrywania błędów w skryptach Bash
- Alternatywne powłoki: Zsh, Fish, dla skryptów przenośnych — POSIX sh
FAQ #
- Czym różni się Bash od sh?
- sh (Bourne Shell) to oryginalny standard powłoki POSIX, a Bash to jego rozszerzenie z dodatkowymi funkcjami (tablice, [[...]], process substitution). Skrypty POSIX sh działają w Bash, ale nie odwrotnie.
- Czy Bash działa na Windows?
- Tak, na Windows Bash dostępny jest przez WSL (Windows Subsystem for Linux), Git Bash lub Cygwin. Natywną powłoką Windows jest PowerShell lub cmd.exe.
- Ile zarabia administrator Linux znający Bash?
- Administrator systemów Linux w Polsce zarabia od 8 000 do 20 000 zł brutto miesięcznie. Znajomość Bash jest wymogiem podstawowym, a nie wyróżnikiem.
- Jak długo uczyć się Bash?
- Podstawy pisania skryptów można opanować w 2–4 tygodnie. Biegłość w zaawansowanych technikach i automatyzacji złożonych zadań wymaga kilku miesięcy praktyki.