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.
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
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.
Tags filesystems shell-script