Bash: Anleitungen und Praxiswissen | Seite 5 | mironsoft Blog
Bash
-
18.12.2025
Ein fester Pfad wie /tmp/skript.tmp in einem Shell-Skript ist eine Einladung für Race Conditions, Datenlecks und Symlink-Angriffe. mktemp erstellt garantiert einmalige, sichere temporäre Dateien – und trap EXIT stellt sicher, dass sie in jedem Beendigungsszenario aufgeräumt werden.
-
14.12.2025
Ein Bash-Skript, das auf dem eigenen Rechner klaglos läuft, kann auf dem Zielsystem scheitern, weil dort eine andere Coreutils-Version, ein fehlendes Tool oder eine abweichende Bash-Version installiert ist. Docker-Testcontainer machen diese Unterschiede reproduzierbar sichtbar und lassen sich in der CI-Pipeline wiederverwenden, statt bei jedem Lauf neu aufgesetzt zu werden.
-
08.12.2025
Ein Deployment-Skript ohne Checklisten deployt auch dann, wenn der Build fehlerhaft ist. Ohne Guards läuft ein zweites Deployment parallel zum ersten. Ohne Rollback-Mechanismus ist ein fehlgeschlagenes Deployment ein manuelles Notfall-Szenario. Professionelle Shell-Skripte für Deployments lösen alle drei Probleme — mit einfachen, wartbaren Bash-Mustern.
-
03.12.2025
Freitext-Logs sind fuer Menschen im Terminal angenehm, aber fuer automatisierte Auswertung ein schlechter Vertrag: Jede Aenderung am Wortlaut bricht bestehende Parser. Strukturiertes JSON-Logging schreibt jede Log-Zeile stattdessen als klar definiertes Objekt mit festen Feldern, das sich verlustfrei nach ELK, Loki oder jedes andere Aggregationssystem weiterleiten laesst, mit jq als dem richtigen Werkzeug, um diese Objekte korrekt und sicher zu bauen.
-
30.11.2025
Die erste Zeile eines Bash-Skripts entscheidet, welcher Interpreter es ausführt, und genau diese eine Zeile ist einer der häufigsten Gründe, warum ein Skript auf einer fremden Maschine nicht startet. Der Unterschied zwischen #!/usr/bin/env bash und #!/bin/bash wirkt trivial, hat aber handfeste Folgen für macOS, Nix-Systeme und Container mit ungewöhnlichem Bash-Installationspfad.
-
27.11.2025
Ein Fortschrittsbalken macht lange Batch-Skripte sichtbar statt gefühlt eingefroren. Dieser Artikel zeigt, wie ein Fortschrittsbalken mit reinem Bash entsteht, von der einfachen Prozentanzeige über Carriage Return und ANSI-Farben bis zur dynamischen Terminalbreite und ETA-Schätzung, ganz ohne Zusatzpaket.
-
20.11.2025
rsync ist mehr als ein Kopierwerkzeug — mit den richtigen Flags wird es zur vollständigen Deployment-Engine. --delete für exakte Spiegel, --exclude-from für saubere Ausschlüsse, --checksum für integre Transfers, --link-dest für atomare Deployments und --bwlimit für kontrollierte Bandbreite machen rsync zum Standard für professionelle Server-Deployments.
-
17.11.2025
helm upgrade --install ist schnell getippt, aber ohne Lint, Diff und Rollout-Prüfung bleibt unklar, ob ein Deployment wirklich erfolgreich war. Bash-Automatisierung um Helm-Deployments herum prüft Charts vor dem Anwenden, wartet aktiv auf einen gesunden Rollout und rollt bei Fehlern automatisch zur letzten funktionierenden Revision zurück.
-
16.11.2025
Wer laenger laufende Prozesse auf einem entfernten Server startet und dabei nur ein normales SSH-Terminal nutzt, riskiert bei jedem Verbindungsabbruch den kompletten Fortschritt. tmux und GNU Screen loesen dieses Problem, indem sie Sessions vom eigentlichen Terminal entkoppeln und im Hintergrund weiterlaufen lassen, ganz gleich ob die Verbindung wackelt oder der Laptop zuklappt.
-
15.11.2025
gum und whiptail verwandeln ein Bash-Skript in eine Anwendung mit echten Rahmen, Formularen und Bestätigungsdialogen, ohne dass eine grafische Oberfläche nötig ist. Dieser Artikel zeigt, wie beide Werkzeuge in eigenen Skripten eingesetzt werden, wo sie sich unterscheiden und wann sich der Einsatz gegenüber einfacheren Bash-Bordmitteln lohnt.