Tornar executável o script de shell na extração do zip

2

Eu tenho um arquivo shell que é retirado do github e embutido em um zip usando o TeamCity.

Normalmente, ele é editado e colocado no github em uma máquina Windows.

Eu preciso deste script de shell para ser executável ao descompactar. Como eu faço isso? Atualmente eu tenho que fazer chmod + x blah.sh

    
por elgabito 03.05.2012 / 19:53

4 respostas

2

A solução mais rápida e fácil provavelmente seria usar um script de shell que resolva suas permissões depois de executar a descompactação.

    
por 03.05.2012 / 21:06
2
#! /bin/bash
#First argument ($1) would be the name of the file to be unzipped
#Second argument ($2) would be where to unzip the files to (absolute path)
unzip $1 -d $2
find $2 -name *.sh -print0 | xargs -0 chmod +x

Isso funcionaria, desde que os arquivos que você queria tornar executáveis fossem sempre * .sh. Caso contrário, sempre poderia adicionar um terceiro argumento ($ 3) e substituí-lo pelo * .sh, mas você sempre teria que inserir o nome do arquivo para torná-lo executável para cada arquivo.

    
por 03.05.2012 / 20:02
1

Você deve criar o arquivo com um zip do Unix para preservar os atributos do Unix.

    
por 03.05.2012 / 19:59
0

Qual shell você está usando? Eu sei no bash você pode definir seus próprios comandos (via alias), por exemplo, uma vez eu fiz um comando personalizado i chamado cdsee e levou um único parâmetro (um diretório) e cd'd para ele, então ls-lah imediatamente. tornou muito fácil fazer o meu trabalho, como eu imediatamente vi o conteúdo da referida pasta.

Deveria, da mesma forma, ser possível, e até mesmo fácil, fazer um comando que rodasse o comando unzip, e imediatamente chmod + x.

Infelizmente, como puxar argumentos está me escapando no momento. Mas a resposta mais simples seria usar uma máquina linux para o zip-job de origem, ou fazer seu comando / alias personalizado executar o chmod automaticamente.

    
por 03.05.2012 / 21:47