シェルスクリプトが与えられたら、明示的に機能するファイルを抽出する簡単な方法はありますか(したがって、いくつかのコマンドをリンクして評価するのとは異なります)。例えば
#!/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
操作してどのファイルが開くかを確認できます。