У меня есть некоторые критические сценарии bash, которые вызываются кодом, который я не контролирую, и где я не вижу их вывод консоли. Я хочу получить полный след того, что эти сценарии сделали для последующего анализа. Для этого я хочу, чтобы каждый скрипт самостоятельно отслеживал. Вот что я сейчас делаю:
#!/bin/bash
# if last arg is not '_worker_', relaunch with stdout and stderr
# redirected to my log file...
if [[ "$BASH_ARGV" != "_worker_" ]]; then
$0 "$@" _worker_ >>/some_log_file 2>&1 # add tee if console output wanted
exit $?
fi
# rest of script follows...
Есть ли лучший, более чистый способ сделать это?