Listando dependências de arquivos do script

2

Dado um script de shell, existe uma maneira fácil de extrair quais arquivos ele manipula explicitamente (assim como não concatenar algum comando e não avaliá-lo)? Por exemplo,

 #!/bin/bash

. /etc/someconfig.cfg

    cat /somedir/somefile.txt

    cp /otherdir/file1.txt /tmp/fileABC.txt

    rm -f ~/stupidfile.txt

    #EOF

Existe um comando que extrairia as dependências explícitas para que eu não precise analisar o script ou fazer isso manualmente e obter uma saída como:

/etc/someconfig.cfg    
/somedir/somefile.txt
/otherdir/file1.txt 
/tmp/fileABC.txt
~/stupidfile.txt

?

Obrigado

    
por amphibient 26.12.2012 / 22:55

1 resposta

3

Analisar o programa é uma abordagem razoável para resolver isso (especialmente em uma linguagem interpretada).

Se você tiver um script estático sem ramificações, poderá fazer uma strace -e open -f para o script ver quais arquivos ele abre.

    
por 26.12.2012 / 23:30