Existe uma ferramenta de arquivo (que roda no Windows) que eu possa definir o “atributo de execução” em um arquivo ou arquivo zip?

1

Eu tenho um pequeno conjunto de arquivos que desenvolvo no Windows, mas preciso extrair e executar no Linux. Um desses arquivos é um script, StartApp.sh. Estou empacotando os arquivos como um arquivo zip, passando-o para o meu administrador e pedindo a ele que defina manualmente o atributo execute em StartApp.sh antes de executá-lo.

Existe uma ferramenta de arquivo (que roda no Windows) que eu possa definir o "atributo de execução" no próprio arquivo ou arquivo zip? (Assim, quando é extraído no Linux, o script será executado sem etapas manuais).

    
por yzorg 22.11.2010 / 17:10

3 respostas

1

Até onde eu sei, não existe essa ferramenta, a menos que você use o Cygwin no Windows, um ambiente semelhante ao Linux para Windows .

Suas outras opções são:

  • Crie um script de descompactação para o seu zip que definirá a permissão de execução
  • Use um sistema de gerenciamento de versão para transferir arquivos, em vez de zipar
por 22.11.2010 / 17:21
1

Se você estiver disposto a fazer um pouco de trabalho, é possível escrever um script Python para fazer isso, usando zipfile . O truque é frobar o membro ZipInfo.external_attr do arquivo em questão antes de usar ZipFile.writestr() para adicioná-lo ao arquivo. Veja a fonte de ZipFile.write() para a manipulação exata que você precisa realizar.

    zinfo.external_attr = (st[0] & 0xFFFF) << 16L      # Unix attributes
    
por 22.11.2010 / 17:22
0

Eu não contaria em encontrar um utilitário de arquivamento que permita fazer isso nativamente (se o sistema de arquivos nativo não o fizer, é improvável fazer um aplicativo) ... meu substituto e minha resposta para a maioria das coisas o crossover do windows / linux é cygwin

    
por 22.11.2010 / 17:16