계측이 필요한 스크립트가 있습니다. 프로그램 을 호출한다고 가정해 보겠습니다 foo
.
함수를 정의 foo
하고 이를 하위 셸로 내보낼 수 있으므로 계측된 호출을 제공할 수 있습니다 foo
. 이는 스크립트가 "호환 가능한" 쉘에서 실행되는 경우에만 작동합니다.
더 이식성이 뛰어난 솔루션이 있습니까?
답변1
쉘 포장을 사용하시겠습니까?
mv foo foo.real
cat >foo <<EOF
#!/bin/sh
... whatever instrumentation ...
exec foo.real "$@"
EOF
chmod +x foo
foo
호출해야 하는 경우에는 실패하며, foo
이 경우 PATH
트릭이 필요하거나 foo
특정 libexec
디렉터리로 이동하는 등의 작업이 필요할 수 있습니다. exec
실행 후 감지도 필요한 경우 이 비트를 건너뜁니다.