Bash & Terminal einrichten
Bash unter Linux, macOS und Windows einrichten. Plus: Editor-Empfehlungen, ShellCheck und die wichtigsten Terminal-Apps.
Inhaltsverzeichnis
Bash & Terminal einrichten
Auf den meisten Systemen ist Bash schon da. Aber ein paar Einstellungen machen den Alltag deutlich angenehmer.
Linux
Bash ist vorinstalliert. Oeffne ein Terminal:
- Ubuntu / GNOME: Terminal-App oder
Ctrl+Alt+T - KDE: Konsole
- Arch: Terminal deiner Wahl
Version pruefen:
bash --version
Mindestens Bash 5.x ist empfehlenswert. Aeltere Versionen (wie das alte macOS-Bash 3.x) haben deutlich weniger Features.
macOS
Wichtig: macOS hat seit Catalina zsh als Standard-Shell - und ein altes Bash 3.x (wegen Lizenzfragen). Fuer modernes Bash installiere es ueber Homebrew:
brew install bash
Um die neue Version zu nutzen:
# Pfad finden
which -a bash
# Zu erlaubten Shells hinzufuegen
sudo bash -c "echo $(brew --prefix)/bin/bash >> /etc/shells"
# Als Standard-Shell setzen (optional)
chsh -s "$(brew --prefix)/bin/bash"
Alternative: zsh nutzen
Wenn du bei zsh bleibst, ist das auch OK - fuer Skripte schreibst du trotzdem Bash (mit #!/usr/bin/env bash-Shebang).
Windows
Native Windows hat keine Bash. Drei Optionen:
Option A: WSL2 (empfohlen)
Installiert ein echtes Linux in Windows - mit Ubuntu o.ae.
wsl --install
Neustart, dann hast du im Startmenue โUbuntuโ und kannst dort ganz normal Bash nutzen.
Option B: Git Bash
Wer Git installiert, bekommt automatisch Git Bash - eine schlanke Bash-Umgebung. Gut genug fuer einfache Skripte.
Option C: Cygwin / MSYS2
Schwerere Pakete, voller POSIX-Layer. Fuer die meisten Faelle ist WSL2 besser.
Ein gutes Terminal waehlen
Die eingebauten Terminals sind OK, aber es gibt bessere:
Plattformuebergreifend
- Ghostty - modern, schnell, GPU-beschleunigt
- WezTerm - viele Features
- Alacritty - minimalistisch, extrem schnell
- Kitty - einer der schnellsten Terminals
macOS-spezifisch
- iTerm2 - der Klassiker, sehr maechtig
Windows-spezifisch
- Windows Terminal (im Microsoft Store) - deutlich besser als
cmd
Im Alltag macht ein gutes Terminal den Unterschied - besonders bei mehreren Tabs und Splits.
Bash-Konfiguration
Bash laedt beim Start bestimmte Dateien:
~/.bashrc- bei interaktiven Shells (typischer Fall)~/.bash_profile- bei Login-Shells (z.B. SSH)~/.profile- POSIX-Standard (sh)
Praktischer Inhalt fuer ~/.bashrc:
# Umgebungsvariablen
export EDITOR=vim
export PATH="$HOME/bin:$PATH"
# History
HISTSIZE=10000
HISTFILESIZE=20000
# Farbiges `ls`
alias ls='ls --color=auto'
# Kurze Aliases
alias ll='ls -lah'
alias gs='git status'
alias ..='cd ..'
# Prompt (farbig)
PS1='\[\e[32m\]\u@\h:\[\e[34m\]\w\[\e[0m\] $ '
Nach dem Bearbeiten laedst du die Datei neu:
source ~/.bashrc
# oder
. ~/.bashrc
Dein erstes Skript
Erstelle hallo.sh:
#!/usr/bin/env bash
echo "Hallo, Bash!"
Ausfuehrbar machen:
chmod +x hallo.sh
Ausfuehren:
./hallo.sh
# Hallo, Bash!
Alternativ ohne chmod:
bash hallo.sh
Shebang #!/usr/bin/env bash
Die erste Zeile #!/usr/bin/env bash sagt dem System: โFuehr das mit Bash aus.โ Die env-Variante funktioniert portabler als #!/bin/bash.
Editor einrichten
VS Code
Installiere:
- Bash IDE - LSP-Integration
- shellcheck - statische Analyse
Beim Oeffnen von .sh-Dateien bekommst du Syntax-Highlighting, Autocomplete und Fehler-Hervorhebung.
Vim / Neovim
Syntax-Highlighting ist out-of-the-box. Fuer LSP installiere bashls via mason.
ShellCheck - der Bash-Linter
ShellCheck ist ein must-have. Er findet die typischen Bash-Fallen:
brew install shellcheck # macOS
sudo apt install shellcheck # Ubuntu
Dann:
shellcheck mein_skript.sh
Beispiel:
#!/usr/bin/env bash
dateien="a b c"
for d in $dateien; do
rm $d
done
ShellCheck warnt:
- Word Splitting:
$dateiensollte in Anfuehrungszeichen rmohne Quoting ist gefaehrlich bei Leerzeichen
Ohne ShellCheck uebersieht man solche Dinge leicht.
Ein bin/-Verzeichnis fuer eigene Skripte
Konvention:
mkdir -p ~/bin
Und in ~/.bashrc:
export PATH="$HOME/bin:$PATH"
Ab jetzt: Jedes ausfuehrbare Skript in ~/bin kannst du ueberall im System per Namen aufrufen.
Bash-Version-Features
Seit Bash 4+ gibt es wichtige Features:
- Assoziative Arrays (
declare -A map) mapfile/readarrayfuer Zeilen-einlesen;;&imcasefuer Fall-Through-Varianten{1..10}Brace-Expansion mit Range
Check deine Version mit bash --version - alles unter 4.0 ist veraltet.
Zusammenfassung
- Linux: Bash ist da. macOS: Homebrew-Bash nachinstallieren. Windows: WSL2.
- Ein modernes Terminal (Ghostty, Alacritty, iTerm2) macht den Alltag besser
~/.bashrcist dein Konfigurations-Ort- Shebang
#!/usr/bin/env basham Dateianfang,chmod +x, fertig - ShellCheck installieren und immer nutzen!
~/binfuer eigene Skripte, zum PATH hinzufuegen
Im naechsten Kapitel: Dein erstes richtiges Bash-Skript.