É possível executar comandos shell dentro de arquivos zip?

3

É possível executar um script de shell dentro de uma pasta zip no Linux? Eu tenho um script de shell que é salvo dentro de uma pasta zip e gostaria de executar o script de shell dentro do arquivo zip (como se o arquivo zip fosse um diretório).

Tudo o que estou tentando fazer agora é executar o comando ls dentro de um arquivo zip (para que o comando seja executado dentro da pasta zip e executado como se a pasta zip fosse uma pasta descompactada). / p>     

por Anderson Green 23.11.2012 / 08:24

3 respostas

6

Você perguntou se é possível: sim, isso é possível se você montar o zip como um sistema de arquivos (ou, claro, se você descompactar o arquivo, o que eu suponho que você não esteja disposto a fazer explicitamente em Some Good Razão).

Veja Fusível-Zip para uma ferramenta que fará isso. Você poderia então fazer algo como:

$ mkdir foo ; fuse-zip foo.zip foo
$ foo/running-my-script-in-foozip.sh
...
$ fusermount -u foo ; rmdir foo

Note que isto irá requerer o fusível , que por sua vez requer um módulo do kernel que você pode ou não ter. Mas você perguntou se era possível, não se fosse conveniente.

    
por 23.11.2012 / 09:12
2

Existe também um programa chamado AVFS que, pelo que entendi, não requer um módulo do kernel. Há também o módulo Perl Archive :: Zip, se você quiser rolar seu próprio programa. (Mas se fosse eu, provavelmente escreveria um script de shell para extrair o arquivo para um diretório temporário antes de executar o programa).

    
por 23.11.2012 / 09:32
0

Como você só quer executar ls , poderia por acaso unzip -l ou unzip -ll fazer o que você quer - listar os arquivos no arquivo?

    
por 24.11.2012 / 00:37

Tags