Maneira portátil de personalizar o executável chamado pelo script

2

Eu tenho um script que preciso instrumentar. Suponha que ele chame um programa foo .

Eu posso definir a função foo e exportá-la para o sub-shell, fornecendo assim a% instrumentadafoo call. Isso funciona somente se o script for executado no shell "compatível".

Existe uma solução mais portátil?

    
por sevo 10.11.2015 / 14:47

1 resposta

1

Use um invólucro de shell?

mv foo foo.real
cat >foo <<EOF
#!/bin/sh
... whatever instrumentation ...
exec foo.real "$@"
EOF
chmod +x foo

Isso falhará se foo precisar ser chamado foo e, nesse caso, PATH truques podem ser necessários ou mover foo para um diretório libexec ou algo parecido. Ignore o exec bit se a instrumentação de pós-execução também tiver que acontecer.

    
por 10.11.2015 / 17:41