쉘 스크립트가 주어지면 명시적으로 작동하는 파일을 추출하는 쉬운 방법이 있습니까(따라서 일부 명령을 연결한 다음 평가하는 것과는 다릅니다)? 예를 들어
#!/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
스크립트를 조작하여 어떤 파일이 열리는지 확인할 수 있습니다.