Batch.sh 스크립트에서 여러 명령(예: wget)을 실행해야 합니다.
내가 사용할 때
./batch.sh | tee logs.log
내 스크립트 출력만 log.log에 기록되지만 wget 출력은 로그에서 누락됩니다.
모든 출력(내 스크립트의 출력 + 스크립트 내에서 호출하는 스크립트)을 어떻게 얻나요?
답변1
아마도 관심 있는 출력은 표준 출력이 아닌 표준 오류로 인쇄될 것입니다. 다음과 같이 명령을 변경하십시오.
./batch.sh 2>&1 | tee logs.log
이렇게 하면 스크립트의 표준 및 오류 스트림이 모두 tee
.
보다 세부적인 제어를 위해 2>&1
스크립트 내에서 개별 명령을 처리할 수 있습니다.
좀 더 Wget에 특화된 방식으로 이 옵션이 존재하며 Wget의 메시지를 별도의 파일에 기록할 수 있습니다. 예를 들면 다음과 같습니다.
-o logfile
--output-file=logfile
Log all messages to logfile. The messages are normally reported to
standard error.