列出脚本的文件依赖项

列出脚本的文件依赖项

给定一个 shell 脚本,是否有一种简单的方法来提取它显式操作的文件(所以不像连接一些命令然后对其进行评估)?例如

 #!/bin/bash

. /etc/someconfig.cfg

    cat /somedir/somefile.txt

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

    rm -f ~/stupidfile.txt

    #EOF

是否有一个命令可以提取显式依赖项,以便我不必解析脚本或手动执行并获得如下输出:

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

谢谢

答案1

解析程序是解决这个问题的合理方法(尤其是在解释性语言中)。

如果您有一个没有分支的静态脚本,您可以 strace -e open -f对脚本进行操作以查看它打开了哪些文件。

相关内容