Loading…

Over Online Shell Script Formatter

Plak je shell script, druk op "Formatteren" en ontvang schone, consistente uitvoer aangedreven door `shfmt`. Ideaal voor DevOps-pijplijnen, dotfiles, container entrypoints en productieklare implementatiescripts. Geen installatie, geen inlog – gewoon leesbare shell code klaar om te committen.

Waarom Deze Shell Script Formatter Gebruiken

  • Direct formatteren voor POSIX sh, Bash, mksh en verwante shells
  • shfmt-stijlregels voor inspringing, spaties en case/esac-blokken
  • Ontworpen om opties te ondersteunen zoals inspringgrootte, tabs versus spaties en redirect-spatiΓ«ring
  • Plak ruwe code of upload `.sh`, `.bash`, `.ksh`, `.mksh` of `.bats` bestanden
  • Perfecte metgezel voor CI/CD-pijplijnen, Docker-entrypoints en dotfiles
  • Opgemaakt via een beveiligde backend met shfmt-stijl logica – geen lokale installatie nodig
  • EΓ©n-klik kopiΓ«ren of downloaden van het opgeschoonde script

πŸ› οΈ Hoe je je Shell Scripts Online Formatteert for shell-script-formatter

1

1. Plak of Upload je Script

πŸ“₯ Plak je shellcode in de editor, of sleep-en-drop een `.sh`, `.bash`, `.ksh`, `.mksh` of `.bats` bestand. Syntaxismarkering maakt het gemakkelijk om structuur en commando's te herkennen.

2

2. (Optioneel) Pas Geavanceerde Instellingen Aan

βš™οΈ Als je project aangepaste stijlregels gebruikt, pas dan inspringing of andere geavanceerde opties aan wanneer deze beschikbaar zijn in de interface. Anders komt het standaardprofiel al overeen met gangbare shfmt-praktijken.

3

3. Formatteer je Script

✨ Klik op **Formatteer** om je script naar de beveiligde formattering-API te sturen. Het herschrijft inspringing, spaties en bepaalde constructies terwijl het gedrag behouden blijft.

4

4. Kopieer of Download het Resultaat

πŸ“€ Kopieer het geformatteerde script terug naar je editor, of download het als een `.sh` bestand klaar voor git, CI of productie-implementaties.

Technische Specificaties

Ondersteunde Formaten & Extensies

Ondersteunt gangbare Bourne-stijl shell dialecten die je tegenkomt in praktijksystemen:

Formaat / DialectTypische ExtensieBeschrijving
POSIX sh.shDraagbare shell scripts compatibel met /bin/sh
Bash.sh, .bashGNU Bash scripts en interactieve helpers
Korn shell (ksh).kshKorn shell scripts in legacy omgevingen
mksh.mkshMirBSD Korn shell-scripts
Bats-tests.batsOp shell gebaseerde testsuites met Bats

Opmaakgedrag (shfmt-stijl)

De backend-formatter volgt shfmt-stijlregels voor consistente shell-lay-out.

AspectGedragVoordeel
InspringingNormaliseert inspringing op `if`, `for`, `while`, `case`, functies en subshellsMakkelijker om visueel controleflow en nesting te ontleden.
SpatiΓ«ringVoegt spaties toe rond `=` in toewijzingen en rond binaire operatoren waar passendVermindert visuele ruis en onbedoelde ontledingsfouten.
RedirectiesOndersteunt spatiΓ«ring rond `>`, `>>`, `<` volgens shfmt-stijlconventiesVerbetert de leesbaarheid van bestandsomleidingen.
Case-blokkenLijnt `case`, patroontakken en `esac` consistent uitVoorkomt diep geneste of gecomprimeerde case-statements.
Idempotente uitvoerOpnieuw uitvoeren van de formatter geeft hetzelfde resultaatStaat veilige integratie toe in pre-commit hooks en CI.

Invoerlimieten & Grootte

Ontworpen om snel en voorspelbaar te zijn, zelfs op niet-triviale scripts.

ParameterLimiet / GedragOpmerkingen
Max. invoergrootte (tekst)β‰ˆ 2 MBScripts groter dan dit kunnen beter lokaal worden geformatteerd met shfmt.
Max. bestandsgrootte (upload)β‰ˆ 5 MBIdeaal voor de meeste implementatiescripts en utility-collecties.
CoderingUTF-8 aanbevolenConverteer verouderde coderingen zoals ISO-8859-1 voor het formatteren.

Uitvoeringsmodel

De formatter draait via een beveiligde backend met shfmt-stijllogica.

AspectGedragOpmerkingen
TransportHTTPS-aanroep naar het `/api/shell-script-formatter` eindpuntVoorkomt afluisteren terwijl je script wordt opgemaakt.
Time-out~25 seconden per verzoekVoorkomt onbeheerste taken bij extreem grote of pathologische invoer.
SemantiekAlleen witruimte en lay-outJe scriptlogica blijft behouden; alleen de opmaak wordt gewijzigd.

CLI-equivalent met shfmt

Wil je hetzelfde gedrag in je terminal of CI-pijplijn? Gebruik `shfmt` direct:

Linux / 🍎 macOS / πŸͺŸ Windows (via WSL of Go)

Installeer shfmt met Go

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

Installeert het `shfmt` binaire bestand in je Go bin-map (bijv. `~/go/bin`).

Formatteer een shell-bestand met 2-spaties inspringing

shfmt -i 2 -w script.sh

Overschrijft `script.sh` met consistent opgemaakte uitvoer.

Formatteer en print naar stdout

shfmt -i 4 script.sh

Gebruikt 4-spaties inspringing en print naar stdout zonder het bestand te wijzigen.

Controleer opmaak in CI (geen wijzigingen)

shfmt -d scripts/

Toont een diff voor bestanden die zouden worden herformatteerd; eindigt niet-nul als wijzigingen nodig zijn.

Voeg een `shfmt -d` stap toe in je CI-pijplijn of een pre-commit hook zodat elk script automatisch schoon en consistent blijft.

Praktische Toepassingen voor Shell-opmaak

DevOps & CI/CD-pijplijnen

Houd kritieke scripts leesbaar, controleerbaar en productie-veilig.

  • Maak implementatie- en terugdraaiscrips schoon voordat ze worden samengevoegd in `main`.
  • Normaliseer hooks in `.git/hooks`, `scripts/` en CI-helpers.
  • Formatteer Docker-entrypoints en container-opstartscripts.
shfmt -i 2 -w ./scripts/deploy.sh
shfmt -i 2 -w ./scripts/*.sh

Teamwerk & Open Source

Vermijd stijlgeschillen en focus op logica tijdens beoordelingen.

  • Pas één enkele stijl toe op alle shellscripts van bijdragers.
  • Maak onboarding gemakkelijker door dotfiles en helpers netjes te houden.
  • Verminder rommelige verschillen door inspringing en spaties te standaardiseren.
shfmt -w hooks/*.sh
shfmt -i 2 -ci -bn -w .

Leren & Onderwijzen van Shell Scripting

Toon beste praktijken aan studenten en junior ontwikkelaars.

  • Maak voorbeelden op voordat je ze in presentaties of documentatie plaatst.
  • Formatteer automatisch inzendingen van studenten om feedback op semantiek te richten.
  • Demonstreer hoe lay-out leesbaarheid en het vinden van bugs beΓ―nvloedt.

❓ Frequently Asked Questions

πŸ”Wat is shfmt?

`shfmt` is een open-source command-line formatter voor shellscripts gemaakt door mvdan. Het parseert je shellcode en herschrijft het met consistente inspringing, spaties en structuur voor POSIX sh, Bash en vergelijkbare dialecten.

βš™οΈKan ik kiezen hoeveel spaties ik voor inspringing gebruik?

Ja. In CLI-gebruik kun je inspringing beheren met de `-i` vlag (bijvoorbeeld `-i 2` of `-i 4`). Deze online tool is ontworpen om equivalente inspringingsvoorkeuren te ondersteunen via zijn opmaakbackend.

🚫Overschrijft deze web tool mijn bestand?

Nee. De formatter geeft het opgeschoonde script terug in de browser. Jij beslist of je het in je editor kopieert of als een nieuw bestand downloadt. Je originelen blijven onaangeroerd tenzij je ze zelf overschrijft.

πŸ’¬Begrijpt het Bash-specifieke syntax?

Ja. De onderliggende shfmt-stijl engine ondersteunt veelvoorkomende Bash-constructies evenals POSIX sh, plus aanvullende shells zoals mksh en ksh.

πŸ”’Is het veilig om gevoelige scripts hier te formatteren?

Voor algemene scripts is deze tool handig en veilig. Voor scripts met zeer gevoelige gegevens (ingebedde geheimen, interne infrastructuurdetails, etc.) is het meestal veiliger om shfmt lokaal of in je eigen CI-omgeving uit te voeren.

Pro Tips

Best Practice

Voer shfmt uit voor elke commit zodat je gitgeschiedenis zich richt op echte wijzigingen, niet op witruimte.

Best Practice

Combineer `shfmt -d` met CI om merges te blokkeren wanneer scripts niet correct zijn geformatteerd.

Best Practice

Combineer deze formatter met ShellCheck om zowel stijl- als logische problemen in je shellscripts op te sporen.

Best Practice

Houd je shebangs (`#!/usr/bin/env bash`) consistent in alle scripts om subtiele portabiliteitsproblemen te voorkomen.

Additional Resources

Other Tools