스크립트에 의해 호출되는 실행 파일을 사용자 정의하는 이식 가능한 방법

스크립트에 의해 호출되는 실행 파일을 사용자 정의하는 이식 가능한 방법

계측이 필요한 스크립트가 있습니다. 프로그램 을 호출한다고 가정해 보겠습니다 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실행 후 감지도 필요한 경우 이 비트를 건너뜁니다.

관련 정보