Loading…

Über Online-Shell-Skript-Formatierer

Fügen Sie Ihr Shell-Skript ein, drücken Sie „Formatieren“ und erhalten Sie saubere, konsistente Ausgabe, betrieben von `shfmt`. Ideal für DevOps-Pipelines, Dotfiles, Container-Entrypoints und produktionsreife Bereitstellungsskripte. Keine Installation, kein Login – nur lesbarer Shell-Code, bereit zum Committen.

Warum diesen Shell-Skript-Formatierer verwenden

  • Sofortige Formatierung für POSIX sh, Bash, mksh und verwandte Shells
  • shfmt-Stilregeln für Einrückungen, Abstände und Case/esac-Blöcke
  • Entwickelt zur Unterstützung von Optionen wie Einrückungsgröße, Tabs vs. Leerzeichen und Redirect-Abstände
  • Rohen Code einfügen oder `.sh`, `.bash`, `.ksh`, `.mksh` oder `.bats` Dateien hochladen
  • Perfekter Begleiter für CI/CD-Pipelines, Docker-Entrypoints und Dotfiles
  • Formatiert über ein gesichertes Backend mit shfmt-Logik – keine lokale Installation erforderlich
  • Ein-Klick-Kopieren oder Herunterladen des bereinigten Skripts

🛠️ So formatieren Sie Ihre Shell-Skripte online for shell-script-formatter

1

1. Skript einfügen oder hochladen

📥 Fügen Sie Ihren Shell-Code in den Editor ein oder ziehen Sie eine `.sh`, `.bash`, `.ksh`, `.mksh` oder `.bats` Datei per Drag-and-Drop. Syntax-Hervorhebung erleichtert das Erkennen von Struktur und Befehlen.

2

2. (Optional) Erweiterte Einstellungen anpassen

⚙️ Wenn Ihr Projekt benutzerdefinierte Stilregeln verwendet, passen Sie die Einrückung oder andere erweiterte Optionen an, sofern in der Benutzeroberfläche verfügbar. Andernfalls entspricht das Standardprofil bereits gängigen shfmt-Praktiken.

3

3. Skript formatieren

✨ Klicken Sie auf **Formatieren**, um Ihr Skript an die sichere Formatierungs-API zu senden. Es überarbeitet Einrückungen, Abstände und bestimmte Konstrukte, während das Verhalten erhalten bleibt.

4

4. Ergebnis kopieren oder herunterladen

📤 Kopieren Sie das formatierte Skript zurück in Ihren Editor oder laden Sie es als `.sh` Datei für git, CI oder Produktions-Deployments herunter.

Technische Spezifikationen

Unterstützte Formate & Erweiterungen

Unterstützt gängige Bourne-Shell-Dialekte, die in realen Systemen vorkommen:

Format / DialektTypische ErweiterungBeschreibung
POSIX sh.shPortable Shell-Skripte kompatibel mit /bin/sh
Bash.sh, .bashGNU Bash-Skripte und interaktive Helfer
Korn shell (ksh).kshKorn-Shell-Skripte in Legacy-Umgebungen
mksh.mkshMirBSD Korn-Shell-Skripte
Bats-Tests.batsShell-basierte Test-Suiten mit Bats

Formatierungsverhalten (shfmt-Stil)

Das Backend-Formatierungswerkzeug folgt shfmt-Stilregeln für einheitliches Shell-Layout.

AspektVerhaltenVorteil
EinrückungNormalisiert Einrückung bei `if`, `for`, `while`, `case`, Funktionen und SubshellsEinfachere visuelle Analyse von Kontrollfluss und Verschachtelung.
AbständeFügt Leerzeichen um `=` in Zuweisungen und um binäre Operatoren hinzu, wo angemessenReduziert visuelles Rauschen und versehentliche Analysefehler.
UmleitungenUnterstützt Abstände um `>`, `>>`, `<` gemäß shfmt-Stil-KonventionenVerbessert die Lesbarkeit von Dateiumleitungen.
Case-BlöckeRichtet `case`, Musterzweige und `esac` konsistent ausVerhindert tief verschachtelte oder komprimierte Case-Anweisungen.
Idempotente AusgabeErneutes Ausführen des Formatierers liefert dasselbe ErgebnisErmöglicht sichere Integration in Pre-Commit-Hooks und CI.

Eingabegrenzen & Größe

Entworfen, um schnell und vorhersehbar zu sein, selbst bei nicht-trivialen Skripten.

ParameterGrenze / VerhaltenHinweise
Maximale Eingabegröße (Text)≈ 2 MBSkripte größer als diese sollten lokal mit shfmt formatiert werden.
Maximale Dateigröße (Upload)≈ 5 MBIdeal für die meisten Bereitstellungsskripte und Utility-Sammlungen.
KodierungUTF-8 empfohlenKonvertieren Sie Legacy-Kodierungen wie ISO-8859-1 vor der Formatierung.

Ausführungsmodell

Der Formatierer läuft über ein gesichertes Backend mit shfmt-Stil-Logik.

AspektVerhaltenHinweise
TransportHTTPS-Aufruf an den Endpunkt `/api/shell-script-formatter`Verhindert Abhören während Ihr Skript formatiert wird.
Timeout~25 Sekunden pro AnfrageVermeidet außer Kontrolle geratene Jobs bei extrem großen oder pathologischen Eingaben.
SemantikNur Leerzeichen und LayoutIhre Skriptlogik bleibt erhalten; nur die Formatierung wird geändert.

CLI-Äquivalent mit shfmt

Möchten Sie das gleiche Verhalten in Ihrem Terminal oder CI-Pipeline? Verwenden Sie `shfmt` direkt:

Linux / 🍎 macOS / 🪟 Windows (über WSL oder Go)

Installieren Sie shfmt mit Go

go install mvdan.cc/sh/v3/cmd/shfmt@latest

Installiert die `shfmt`-Binärdatei in Ihr Go-Bin-Verzeichnis (z.B. `~/go/bin`).

Formatieren Sie eine Shell-Datei mit 2-Leerzeichen-Einrückung

shfmt -i 2 -w script.sh

Überschreibt `script.sh` mit konsistent formatierter Ausgabe.

Formatieren und auf stdout ausgeben

shfmt -i 4 script.sh

Verwendet 4-Leerzeichen-Einrückung und gibt auf stdout aus, ohne die Datei zu ändern.

Formatierung in CI prüfen (keine Änderungen)

shfmt -d scripts/

Zeigt einen Diff für Dateien, die neu formatiert werden müssten; beendet mit Nicht-Null, wenn Änderungen erforderlich sind.

Fügen Sie einen `shfmt -d`-Schritt in Ihrer CI-Pipeline oder einen Pre-Commit-Hook hinzu, damit jedes Skript automatisch sauber und konsistent bleibt.

Praktische Anwendungsfälle für Shell-Formatierung

DevOps & CI/CD-Pipelines

Halten Sie geschäftskritische Skripte lesbar, überprüfbar und produktionssicher.

  • Bereinigen Sie Bereitstellungs- und Rollback-Skripte vor dem Merge in `main`.
  • Normalisieren Sie Hooks in `.git/hooks`, `scripts/` und CI-Helfern.
  • Formatieren Sie Docker-Entrypoints und Container-Bootstrap-Skripte.
shfmt -i 2 -w ./scripts/deploy.sh
shfmt -i 2 -w ./scripts/*.sh

Teamarbeit & Open Source

Vermeiden Sie Stil-Diskussionen und konzentrieren Sie sich in Reviews auf die Logik.

  • Ein einheitliches Styling auf alle Shell-Skripte der Mitwirkenden anwenden.
  • Onboarding erleichtern, indem Dotfiles und Helfer ordentlich gehalten werden.
  • Unübersichtliche Diffs reduzieren durch Standardisierung von Einrückungen und Abständen.
shfmt -w hooks/*.sh
shfmt -i 2 -ci -bn -w .

Shell-Skripte lernen & lehren

Zeige Best Practices für Studierende und Nachwuchsentwickler.

  • Beispiele bereinigen, bevor sie in Folien oder Dokumentation aufgenommen werden.
  • Studentische Abgaben automatisch formatieren, um Feedback auf die Semantik zu konzentrieren.
  • Demonstrieren, wie das Layout Lesbarkeit und Fehlersuche beeinflusst.

❓ Frequently Asked Questions

🔍Was ist shfmt?

`shfmt` ist ein Open-Source-Kommandozeilen-Formatierer für Shell-Skripte, erstellt von mvdan. Er parst Ihren Shell-Code und schreibt ihn mit konsistenter Einrückung, Abständen und Struktur für POSIX sh, Bash und ähnliche Dialekte neu.

⚙️Kann ich wählen, wie viele Leerzeichen eingerückt werden?

Ja. In der CLI-Nutzung können Sie die Einrückung mit dem `-i`-Flag steuern (z.B. `-i 2` oder `-i 4`). Dieses Online-Tool ist darauf ausgelegt, entsprechende Einrückungspräferenzen über sein Formatierungs-Backend zu unterstützen.

🚫Überschreibt dieses Web-Tool meine Datei?

Nein. Der Formatierer gibt das bereinigte Skript im Browser zurück. Sie entscheiden, ob Sie es in Ihren Editor kopieren oder als neue Datei herunterladen möchten. Ihre Originale bleiben unberührt, es sei denn, Sie überschreiben sie selbst.

💬Versteht es Bash-spezifische Syntax?

Ja. Die zugrunde liegende shfmt-Engine unterstützt gängige Bash-Konstrukte sowie POSIX sh und zusätzliche Shells wie mksh und ksh.

🔒Ist es sicher, sensible Skripte hier zu formatieren?

Für allgemeine Skripte ist dieses Tool bequem und sicher. Für Skripte mit hochsensiblen Daten (eingebettete Geheimnisse, interne Infrastrukturdaten etc.) ist es in der Regel sicherer, shfmt lokal oder in Ihrer eigenen CI-Umgebung auszuführen.

Pro Tips

Best Practice

Führen Sie shfmt vor jedem Commit aus, damit sich Ihre Git-Historie auf echte Änderungen konzentriert, nicht auf Leerzeichen.

Best Practice

Kombinieren Sie `shfmt -d` mit CI, um Merges zu blockieren, wenn Skripte nicht korrekt formatiert sind.

Best Practice

Kombinieren Sie diesen Formatierer mit ShellCheck, um sowohl Stil- als auch Logikprobleme in Ihren Shell-Skripten zu erkennen.

Best Practice

Halten Sie Ihre Shebangs (`#!/usr/bin/env bash`) in allen Skripten konsistent, um subtile Portabilitätsprobleme zu vermeiden.

Additional Resources

Other Tools