Loading…

Sobre Formatador de Script Shell Online

Cole seu script shell, pressione "Formatar" e obtenha saída limpa e consistente alimentada por `shfmt`. Ideal para pipelines DevOps, dotfiles, entrypoints de contêiner e scripts de implantação prontos para produção. Sem instalação, sem login – apenas código shell legível pronto para commit.

Por Que Usar Este Formatador de Script Shell

  • Formatação instantânea para POSIX sh, Bash, mksh e shells relacionados
  • Regras estilo shfmt para indentação, espaçamento e blocos case/esac
  • Projetado para suportar opções como tamanho de indentação, tabs vs espaços e espaçamento de redirecionamento
  • Cole código bruto ou carregue arquivos `.sh`, `.bash`, `.ksh`, `.mksh` ou `.bats`
  • Companheiro perfeito para pipelines de CI/CD, entrypoints do Docker e dotfiles
  • Formatado via um backend seguro executando lógica estilo shfmt – nenhuma instalação local necessária
  • Cópia com um clique ou download do script limpo

🛠️ Como Formatar Seus Scripts Shell Online for shell-script-formatter

1

1. Cole ou Carregue Seu Script

📥 Cole seu código shell no editor, ou arraste e solte um arquivo `.sh`, `.bash`, `.ksh`, `.mksh` ou `.bats`. O realce de sintaxe facilita identificar estrutura e comandos.

2

2. (Opcional) Ajuste Configurações Avançadas

⚙️ Se seu projeto usa regras de estilo personalizadas, ajuste a indentação ou outras opções avançadas quando disponíveis na interface. Caso contrário, o perfil padrão já corresponde às práticas comuns do shfmt.

3

3. Formate Seu Script

✨ Clique em **Formatar** para enviar seu script para a API segura de formatação. Ela reescreve indentação, espaçamento e certas construções enquanto preserva o comportamento.

4

4. Copie ou Baixe o Resultado

📤 Copie o script formatado de volta para seu editor, ou baixe-o como um arquivo `.sh` pronto para git, CI ou implantações em produção.

Especificações Técnicas

Formatos e Extensões Suportados

Suporta dialetos shell comuns estilo Bourne que você encontra em sistemas do mundo real:

Formato / DialetoExtensão TípicaDescrição
POSIX sh.shScripts shell portáteis compatíveis com /bin/sh
Bash.sh, .bashScripts GNU Bash e auxiliares interativos
Korn shell (ksh).kshScripts Korn shell em ambientes legados
mksh.mkshScripts MirBSD Korn shell
Testes Bats.batsSuítes de teste baseadas em shell usando Bats

Comportamento de Formatação (Estilo shfmt)

O formatador de backend segue regras de estilo shfmt para layout consistente de shell.

AspectoComportamentoBenefício
IndentaçãoNormaliza indentação em `if`, `for`, `while`, `case`, funções e subshellsMais fácil de analisar visualmente o fluxo de controle e aninhamento.
EspaçamentoAdiciona espaços ao redor de `=` em atribuições e ao redor de operadores binários quando apropriadoReduz ruído visual e erros acidentais de análise.
RedirecionamentosSuporta espaçamento ao redor de `>`, `>>`, `<` de acordo com as convenções de estilo shfmtMelhora a legibilidade dos redirecionamentos de arquivo.
Blocos caseAlinha `case`, ramificações de padrão e `esac` consistentementeEvita declarações case profundamente aninhadas ou comprimidas.
Saída idempotenteExecutar o formatador novamente produz o mesmo resultadoPermite integração segura em hooks de pré-commit e CI.

Limites e Tamanho de Entrada

Projetado para ser rápido e previsível mesmo em scripts não triviais.

ParâmetroLimite / ComportamentoNotas
Tamanho máximo de entrada (texto)≈ 2 MBScripts maiores que isso são melhor formatados localmente com shfmt.
Tamanho máximo de arquivo (upload)≈ 5 MBIdeal para a maioria dos scripts de implantação e coleções de utilitários.
CodificaçãoUTF-8 recomendadoConverta codificações legadas como ISO-8859-1 antes da formatação.

Modelo de Execução

O formatador é executado via um backend seguro usando lógica de estilo shfmt.

AspectoComportamentoNotas
TransporteChamada HTTPS para o endpoint `/api/shell-script-formatter`Previne a interceptação enquanto seu script está sendo formatado.
Tempo Limite~25 segundos por solicitaçãoEvita tarefas descontroladas em entradas extremamente grandes ou patológicas.
SemânticaApenas espaçamento e layoutA lógica do seu script é preservada; apenas a formatação é alterada.

Equivalente CLI com shfmt

Quer o mesmo comportamento no seu terminal ou pipeline de CI? Use `shfmt` diretamente:

Linux / 🍎 macOS / 🪟 Windows (via WSL ou Go)

Instalar shfmt usando Go

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

Instala o binário `shfmt` no seu diretório bin do Go (ex: `~/go/bin`).

Formatar um arquivo shell com indentação de 2 espaços

shfmt -i 2 -w script.sh

Substitui `script.sh` com saída formatada consistentemente.

Formatar e imprimir no stdout

shfmt -i 4 script.sh

Usa indentação de 4 espaços e imprime no stdout sem modificar o arquivo.

Verificar formatação em CI (sem alterações)

shfmt -d scripts/

Mostra um diff para arquivos que seriam reformatados; sai com código não-zero se mudanças forem necessárias.

Adicione um passo `shfmt -d` no seu pipeline de CI ou um hook de pré-commit para que cada script permaneça limpo e consistente automaticamente.

Casos de Uso Práticos para Formatação de Shell

DevOps & Pipelines CI/CD

Mantenha scripts críticos legíveis, revisáveis e seguros para produção.

  • Limpar scripts de implantação e reversão antes de mesclar em `main`.
  • Normalizar hooks em `.git/hooks`, `scripts/` e auxiliares de CI.
  • Formatat pontos de entrada do Docker e scripts de inicialização de contêineres.
shfmt -i 2 -w ./scripts/deploy.sh
shfmt -i 2 -w ./scripts/*.sh

Colaboração em Equipe & Código Aberto

Evite discussões de estilo e foque na lógica nas revisões.

  • Aplicar um único estilo em todos os scripts shell dos colaboradores.
  • Facilitar a integração mantendo dotfiles e auxiliares organizados.
  • Reduzir diffs ruidosos padronizando indentação e espaçamento.
shfmt -w hooks/*.sh
shfmt -i 2 -ci -bn -w .

Aprendendo & Ensinando Script Shell

Mostrar melhores práticas para estudantes e desenvolvedores juniores.

  • Limpar exemplos antes de colocá-los em slides ou documentação.
  • Auto-formatar submissões de estudantes para focar feedback na semântica.
  • Demonstrar como o layout afeta a legibilidade e detecção de bugs.

❓ Frequently Asked Questions

🔍O que é shfmt?

`shfmt` é um formatador de linha de comando de código aberto para scripts shell criado por mvdan. Ele analisa seu código shell e o reescreve com indentação, espaçamento e estrutura consistentes para POSIX sh, Bash e dialetos similares.

⚙️Posso escolher quantos espaços usar na indentação?

Sim. No uso por CLI você pode controlar a indentação com a flag `-i` (por exemplo `-i 2` ou `-i 4`). Esta ferramenta online foi projetada para suportar preferências equivalentes de indentação através do seu backend de formatação.

🚫Esta ferramenta web sobrescreve meu arquivo?

Não. O formatador retorna o script limpo no navegador. Você decide se copia para seu editor ou baixa como um novo arquivo. Seus originais permanecem intocados a menos que você mesmo os sobrescreva.

💬Ela entende sintaxe específica do Bash?

Sim. O mecanismo shfmt subjacente suporta construções comuns do Bash assim como POSIX sh, além de shells adicionais como mksh e ksh.

🔒É seguro formatar scripts sensíveis aqui?

Para scripts de propósito geral, esta ferramenta é conveniente e segura. Para scripts contendo dados altamente sensíveis (segredos embutidos, detalhes de infraestrutura interna, etc.), geralmente é mais seguro executar shfmt localmente ou dentro do seu próprio ambiente de CI.

Pro Tips

Best Practice

Execute shfmt antes de cada commit para que seu histórico git foque em mudanças reais, não em espaços em branco.

Best Practice

Combine `shfmt -d` com CI para bloquear merges quando scripts não estiverem devidamente formatados.

Best Practice

Combine este formatador com ShellCheck para capturar problemas de estilo e lógica em seus scripts shell.

Best Practice

Mantenha seus shebangs (`#!/usr/bin/env bash`) consistentes em todos os scripts para evitar problemas sutis de portabilidade.

Additional Resources

Other Tools