Neste post mostro o comando para adicionar a propriedade +X (executável) em um script sh e como fazer para executar este comando em lote. Esta foi uma situação que apareceu quando estava utilizando o Windows para criar um repositório com scripts que seriam executados no Linux.
A vantagem deste comando é que você consegue salvar no repositório quais arquivos devem ser considerados como executáveis e quais não são. Definitivamente, esta é uma abordagem que deve ser utilizada com cautela.
Para fazer isso é simples:
- Adicione o arquivo no repositório
- Atualize a propriedade +x para ele.
Exemplo:
git add foo.sh git update-index --chmod=+x foo.sh
Pronto. O arquivo foo.sh será sempre considerado como executável.
Definindo todos os arquivos .sh como executáveis
Ambos scripts devem ser executados no diretório raiz do repositório.
No Linux
find ./ -type f -name "*.sh" -exec git update-index --chmod=+x {} \;
No Windows (com PowerShell)
foreach ($file in Get-ChildItem -Path ./ -Filter *.sh -Recurse) { $filePath = $file | Resolve-Path -Relative & git update-index --chmod=+x $filePath }
Se quiser, salve este comando em um script .ps1 e execute ele.
Espero ter ajudado.
The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Latest posts by Breno RdV (see all)
- Estamos de mudança! - abril 28, 2024
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022