Editor de scripts shell para Termux com formatação automática, copia arquivo e análise de scripts via navegador.
Find a file
BourneShell 7f209c5bc2
en: fix shfmt execution for markdown files
- Use DIALECT='markdown' for .md files (already working)
- Prevent shfmt from running on non-shell files (markdown, etc.)
- Add case statements to skip shfmt for non-sh dialects
- Ensure only shell dialects (sh, bash) trigger shfmt formatting
2026-04-29 21:18:57 -03:00
AGENTS.md Histórico limpo - 2026-04-27 2026-04-27 20:44:12 -03:00
en en: fix shfmt execution for markdown files 2026-04-29 21:18:57 -03:00
README.md Histórico limpo - 2026-04-27 2026-04-27 20:44:12 -03:00

📜 en - Editor de Scripts com Formatação Automática

📝 en é um editor de scripts shell para Termux que formata automaticamente seus scripts com shfmt e oferece uma ferramenta de análise via navegador com -c.


📦 Instalação

1. Instale as Dependências

pkg update && pkg upgrade -y
pkg install git nano shfmt shellcheck netcat-openbsd

2. Clone o Repositório

git clone https://git.disroot.org/BourneShell/en.git
cd en

3. Dê Permissão de Execução

chmod +x en

4. Instale Globalmente

cp en $PREFIX/bin/

Após isso, o comando en estará disponível em qualquer diretório.


🚀 Como Usar

✏️ Editar um Script

en meu_script.sh
  • 📄 Se o arquivo não existir, ele será criado
  • 🎨 Se for um script shell (extensão .sh, .bash, .dash, .lib ou com shebang), será formatado automaticamente com shfmt -i 1 antes e shfmt -i 4 depois da edição
  • 🔎 A syntax do nano é detectada automaticamente por extensão, shebang ou mapeamento (sh, python, javascript, yaml, html, etc.)

🌐 Gerar Análise HTML (-c)

en -c ~/caminho/para/meu_script.sh

Isso irá:

  1. Executar shellcheck -s sh no script
  2. Gerar uma página HTML temporária com duas áreas de texto:
    • 📋 Saída do ShellCheck
    • 📝 Conteúdo do script
  3. Iniciar um servidor HTTP local na porta especificada (padrão 8080)
  4. Abrir a página no navegador
  5. Ao pressionar Enter, o servidor para e os arquivos temporários são removidos

⚠️ Importante: Use o caminho completo do arquivo para evitar ambiguidades, especialmente se estiver em outro diretório.


⚙️ Opções Disponíveis

Opção Descrição
-h 📖 Mostra ajuda
-c 🌐 Gera análise HTML e serve via HTTP
-f 💪 Força formatação mesmo que não seja script shell
-n 🚫 Não formata automaticamente
-p porta 🔌 Define porta do servidor (padrão: 8080)

💡 Exemplos

Editar com formatação automática

en ~/scripts/backup.sh

Gerar análise e abrir no navegador

en -c ~/scripts/backup.sh

Usar porta diferente

en -c -p 9090 ~/scripts/backup.sh

Forçar formatação mesmo em arquivo .txt

en -f ~/scripts/README.txt

🔍 Como Funciona o Modo -c

O modo -c cria um 🌐 ambiente web temporário para você visualizar e copiar a análise do seu script:

  1. 🛡️ ShellCheck é executado e sua saída é capturada
  2. 📂 O conteúdo do script é lido
  3. 🎨 Ambos são inseridos em uma página HTML simples, com botões para copiar
  4. 🖥️ A página é servida via HTTP local (salva em $PREFIX/tmp/en_serve/)
  5. 🌍 Seu navegador padrão é aberto automaticamente
  6. 🧹 Após você pressionar Enter no terminal, tudo é limpo

Utilidades

  • 👁️ Revisar scripts com mais conforto
  • 🤝 Compartilhar análises (copiando o conteúdo)
  • ⚠️ Verificar warnings do ShellCheck sem sair do terminal

📋 Dependências

Pacote Função
nano ✏️ Editor (pode ser substituído por vim editando o script)
shfmt 🎨 Formatador de scripts
shellcheck 🛡️ Analisador estático
netcat-openbsd 🌐 Servidor HTTP leve

🗂️ Estrutura

en/
├── 📜 en          # Script principal (POSIX sh)
└── 📄 README.md   # Este arquivo

📝 Nota: Sem arquivos de configuração - tudo é detectado automaticamente.