Bash: Anleitungen und Praxiswissen | Seite 10 | mironsoft Blog
Bash
-
10.07.2025
Jede Nutzereingabe, die ungeprüft in einen Bash Befehl einfließt, ist ein potenzieller Command Injection Vektor. Dieser Artikel zeigt, wie Angreifer Argumente, Umgebungsvariablen und Dateiinhalte ausnutzen, welche Grenzen reines Quoting hat, und wie Whitelisting, Wrapperfunktionen und gezielte Tests Bash Skripte gegen Command Injection systematisch absichern.
-
10.07.2025
Release Notes richten sich an Nutzer und Stakeholder, nicht an Entwickler, und brauchen deshalb einen anderen Ton als ein technischer Changelog. Dieser Artikel zeigt, wie ein Bash-Skript aus dem Commit-Bereich zwischen zwei Tags automatisch lesbare Release Notes mit Mitwirkenden, hervorgehobenen Highlights und Vergleichslink erzeugt und direkt an die GitHub oder GitLab Release API übergibt.
-
04.07.2025
Wer wartet, bis ein Cronjob nachts den Fehlerzähler auswertet, verliert wertvolle Reaktionszeit. Das Streaming von Logs in Echtzeit mit tail -f, inotifywait und while read verwandelt passive Logdateien in aktive Überwachungsquellen – mit sofortigem Alerting, sicherer Aggregation und nachvollziehbaren Pipelines direkt in Bash.
-
04.07.2025
Ein Skript mit mapfile oder sed -i laeuft auf dem Linux Server anstandslos und bricht auf dem MacBook des Kollegen. Der Grund ist die veraltete Bash 3.2 in macOS und die unterschiedlichen Coreutils, die Apple aus lizenzrechtlichen Gruenden ausliefert.
-
04.07.2025
Für schnelles lokales Debugging eines eingehenden Webhooks braucht man keinen vollständigen HTTP-Server. Ein minimaler Webhook-Empfänger mit netcat und einer Bash-Schleife nimmt Requests entgegen, zeigt Header und Body und antwortet mit einem gültigen HTTP-Response, in wenigen Zeilen und ohne Abhängigkeiten.
-
24.06.2025
Ein Deploy-Fehler, der sich nicht reproduzieren lässt, ist kein gelöster Fehler – er ist aufgeschobenes Chaos. set -x, trap ERR, LINENO und strukturierte Logfiles machen jeden Fehler in Deploy-Skripten nachvollziehbar, reproduzierbar und als Grundlage für Post-Mortem-Analysen nutzbar.
-
18.06.2025
Shell-Skripte überstehen Code-Reviews selten ohne Beanstandungen — weil es keine standardisierten Checklisten gibt. Diese Bash-Checkliste deckt alle kritischen Dimensionen ab: Sicherheit, Fehlerbehandlung, Logging, Testbarkeit mit BATS und statische Analyse mit ShellCheck — systematisch und praxisnah.
-
17.06.2025
Bash-Skripte, die im Terminal korrekt funktionieren, versagen oft in Pipes, als Cronjob oder in CI-Umgebungen. Die Ursache liegt im unterschiedlichen Verhalten von stdin, stdout und interaktiven Tools je nach Kontext. /dev/null, /dev/tty, isatty-Erkennung und Non-Interactive-Mode sind die Werkzeuge für Skripte, die in allen Kontexten zuverlässig funktionieren.
-
16.06.2025
Wer in einem Deployment-Skript zehn oder zwanzig Mal hintereinander per SSH auf denselben Server zugreift, zahlt jedes Mal den vollen Preis für TCP-Handshake, Schlüsselaustausch und Authentifizierung. ControlMaster teilt eine einmal aufgebaute SSH-Verbindung über einen lokalen Unix-Socket mit allen weiteren Aufrufen und macht Bash-Automatisierung dadurch spürbar schneller.
-
16.06.2025
Seit macOS Catalina ist zsh das Standard-Login-Shell, waehrend Server und CI Umgebungen weiter auf Bash setzen. Wer ein Skript oder eine Dotfile-Funktion fuer beide Shells schreiben will, muss Array-Indizes, Globbing und Optionsnamen kennen, die sich fundamental unterscheiden.