Bash: Anleitungen und Praxiswissen | Seite 6 | mironsoft Blog
Bash
-
15.11.2025
Dateinamen mit Leerzeichen, Tabs, Newlines und nicht-druckbaren Zeichen existieren auf jedem System. Die meisten Shell-Skripte verarbeiten sie falsch — mit stiller Datenkorruption, fehlgeschlagenen Operationen oder sogar Sicherheitsproblemen als Folge. Null-Delimiter, printf und defensive Dateioperationen sind die Antwort auf sichere Dateiverarbeitung in der Shell.
-
13.11.2025
Zwei CSV-Exporte vergleichen, herausfinden was neu hinzugekommen ist, was fehlt und was gemeinsam ist: sort, uniq und comm loesen diese Aufgabe ohne Datenbank und ohne externe Skriptsprache, allein durch die richtige Kombination dreier klassischer Unix-Werkzeuge.
-
13.11.2025
Deployment-Skripte laufen in der Praxis oft mit deutlich mehr Rechten als nötig, meist weil ein globaler sudo-Zugriff bequemer wirkt als eine präzise Regel. Wer Least Privilege ernst nimmt, schreibt gezielte sudoers-Einträge pro Skript und verzichtet auf das SUID-Bit auf Shell-Skripten, das moderne Linux-Kernel aus gutem Grund ignorieren.
-
12.11.2025
trap ERR und trap EXIT klingen wie zwei Varianten desselben Mechanismus, verhalten sich aber grundverschieden. EXIT feuert garantiert, ERR hat dieselben blinden Flecken wie set -e. Wer beide kombiniert, versteht wann eigene Stacktraces mit BASH_LINENO nötig werden, und wie man Fehler zuverlässig loggt statt sie stillschweigend zu verschlucken.
-
05.11.2025
Wer hunderte Konfigurationsdateien von Hand anpasst, macht Fehler. sed -i, awk, perl -pi und find+xargs ermöglichen sichere Massentransformationen von Textdateien – mit Dry-Run-Modus, automatischen Backups und atomaren In-Place-Änderungen, die auch bei Fehlern den Originalzustand erhalten.
-
02.11.2025
Die Bash-History ist nach einem Sicherheitsvorfall oft die erste Datenquelle, die ein Administrator prueft. Richtig konfiguriert mit HISTFILE, HISTSIZE und HISTTIMEFORMAT liefert sie eine Zeitleiste ausgefuehrter Befehle. Wer sich aber allein darauf verlaesst, uebersieht, dass jeder Nutzer mit Shell-Zugriff seine eigene History jederzeit loeschen oder manipulieren kann. Deshalb gehoert auditd als unabhaengige Ergaenzung in jede ernsthafte Haertung.
-
26.10.2025
Wer dieselben Bash-Funktionen für Logging, Retry-Logik und Benachrichtigungen in jedem Repository neu schreibt, produziert Wartungsaufwand, den eine einzige, geteilte Library-Datei vermeidet. Richtig gebaut, versioniert und getestet wird eine solche Bash-Bibliothek zum stabilen Fundament für alle CI-Pipelines eines Teams, statt zur nächsten Quelle für Copy-Paste-Bugs.
-
23.10.2025
Shell-Skripte, die den Operator informieren statt zu verwirren, sind wartbarer, sicherer und angenehmer zu bedienen. Mit tput, ANSI-Codes, Spinners, column und printf-Tabellen entsteht professionelle CLI-UX ohne externe Abhängigkeiten — direkt in Bash, portabel und robustheitsorientiert.
-
23.10.2025
Bash laedt bei jedem Start eine unterschiedliche Kombination aus Konfigurationsdateien, abhaengig davon, ob es sich um eine Login-Shell, eine interaktive Nicht-Login-Shell oder eine Skriptausfuehrung ohne Interaktion handelt. Wer PATH-Erweiterungen oder Umgebungsvariablen in die falsche Datei schreibt, bekommt lokal ein scheinbar funktionierendes Setup und wundert sich, warum genau dieselbe Variable im Cronjob oder Deployment-Skript plötzlich fehlt.
-
21.10.2025
sed, awk und perl lösen alle drei Textverarbeitungsaufgaben in der Shell — aber mit unterschiedlichen Stärken, Grenzen und Performance-Charakteristika. sed für zeilenweise Substitution, awk für strukturierte Feldverarbeitung, perl für komplexe Logik, Multiline-Muster und Unicode: die richtige Wahl spart Zeit und vermeidet fragile Lösungen.