Repositório de utilitários pessoais para uso em sistemas operacionais Linux.
Este repositório contém scripts utilitários que podem ser instalados no sistema e executados diretamente pelo terminal.
dev-utils/
├── scripts/ # Scripts utilitários
│ └── git-set-email.sh # Script para configurar email em múltiplos repositórios Git
├── install.sh # Instalador dos scripts
├── uninstall.sh # Desinstalador dos scripts
└── README.md # Esta documentação
Para instalar os scripts no sistema:
sudo ./install.shO instalador irá:
- Copiar todos os scripts
.shdescripts/para/usr/local/bin/dev-utils/ - Criar symlinks em
/usr/local/bin/para cada script (sem extensão.sh) - Tornar os scripts executáveis
- Disponibilizar os comandos diretamente no PATH
Nota: Requer privilégios de administrador (sudo).
Para desinstalar todos os scripts:
sudo ./uninstall.shO desinstalador irá:
- Remover todos os symlinks criados em
/usr/local/bin/ - Remover o diretório
/usr/local/bin/dev-utils/completamente - Solicitar confirmação antes de desinstalar
Configura o user.email do Git em todos os repositórios encontrados recursivamente dentro de uma pasta. Inclui submódulos Git.
Uso:
git-set-email <email> <pasta>Argumentos:
email: Email a ser configurado (ex:user@example.com)pasta: Caminho da pasta a ser varrida (absoluto ou relativo)
Exemplo:
git-set-email user@example.com /home/user/projects
git-set-email dev@company.com .Funcionalidades:
- Varre recursivamente todos os diretórios
.gitdentro da pasta especificada - Processa submódulos Git (arquivos
.gitmodulese diretórios.git/modules/) - Valida formato de email antes de processar
- Exibe progresso e resumo final (total processado, sucessos, falhas)
- Trata erros graciosamente (repositórios corrompidos, permissões, etc.)
Validações:
- Verifica se os parâmetros foram fornecidos
- Valida formato básico de email (regex)
- Verifica se a pasta existe e é acessível
- Verifica se cada diretório
.gité um repositório Git válido
Output: O script exibe mensagens coloridas indicando:
- Em azul: Informações gerais e progresso
- Em verde: Sucessos
- Em amarelo: Avisos
- Em vermelho: Erros e falhas
Ao final, exibe um resumo com:
- Total de repositórios encontrados
- Quantidade de repositórios configurados com sucesso
- Quantidade de falhas (se houver)
- Lista de repositórios processados
- Bash 4.0+ (geralmente já instalado por padrão)
- Git instalado
- Privilégios de administrador (sudo) para instalação/desinstalação
- Permissões de leitura/escrita nos repositórios Git a serem processados (apenas para git-set-email)
/usr/local/bindeve estar no PATH (padrão na maioria das distribuições Linux)
Os scripts são instalados em:
- Scripts:
/usr/local/bin/dev-utils/ - Symlinks:
/usr/local/bin/(ex:/usr/local/bin/git-set-email)
Esta organização facilita:
- Desinstalação: Basta remover a pasta
/usr/local/bin/dev-utils/e os symlinks - Manutenção: Scripts organizados em um único diretório
- Compatibilidade: Não modifica arquivos de configuração do usuário (
~/.bashrc, etc.)
Para adicionar um novo script utilitário:
- Crie o script na pasta
scripts/com extensão.sh - Garanta que o script tenha permissão de execução (
chmod +x) - Execute
sudo ./install.shnovamente para instalar o novo script
O instalador detecta automaticamente todos os scripts .sh na pasta scripts/ e os instala.
# Configurar email pessoal em todos os projetos do diretório atual
git-set-email pessoa@example.com .
# Configurar email corporativo em todos os projetos de uma pasta específica
git-set-email dev@empresa.com.br /home/user/projetos-empresa
# Usar caminho relativo
git-set-email dev@company.com ../projetosCertifique-se de fornecer ambos os parâmetros: email e pasta.
Verifique se o email está no formato correto: usuario@dominio.com
Verifique se o caminho da pasta está correto e se você tem permissão para acessá-la.
- Verifique se
/usr/local/binestá no PATH:echo $PATH - Se não estiver, adicione temporariamente:
export PATH="/usr/local/bin:$PATH" - Para adicionar permanentemente, adicione a linha acima ao seu
~/.bashrcou~/.zshrc - Reabra o terminal após modificar os arquivos de configuração
Execute com sudo: sudo ./install.sh
Este é um repositório pessoal de utilitários. Use como desejar.
Este é um repositório pessoal. Se você quiser usar ou adaptar os scripts, fique à vontade!