제어 할 수없는 코드와 콘솔 출력을 볼 수없는 코드로 호출되는 특정 중요 bash 스크립트가 있습니다. 이 스크립트가 나중에 분석하기 위해 수행 한 작업의 전체 추적을 원합니다. 이렇게하려면 각 스크립트를 자체 추적하고 싶습니다. 현재 수행중인 작업은 다음과 같습니다.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 "[email protected]" _worker_ >>/some_log_file 2>&1 # add tee if console output wanted
exit $?
fi
# rest of script follows...
더 좋고 깨끗한 방법이 있습니까?
가장 우수! 나는 단지 더 우아한 방법이 있어야한다는 것을 알았다. 고마워, 케빈. 이것은 즉시 사용으로 갈 것입니다 ... –
또한 현재 터미널에 출력하고 파일에 로그 할 수 있습니까? 나는''exec'와 함께'tee'를 사용하려했지만 아무런 방법도 찾지 못했습니다 .. –
[이 질문에] 나는 링크하고 싶습니다 (http://stackoverflow.com/questions/3173131/redirect-copy-of-stdout-to -log-file-within-bash-script-itself) 스크립트 내에서 명령 된 출력을 볼 수 있고 로그 할 수도 있습니다! –