내 스크립트에는 현재 다음이 있습니다.
exec > >(tee -a /tmp/history.log) 2>&1
이렇게하면 모든 명령의 stderr 및 stdout이 모두 로그 파일과 tty에 기록됩니다. 불행히도 이것은 tty를 매우 시끄럽게 만듭니다. 따라서 터미널에는 stdout 만 있고 파일에는 stdout과 stderr가 모두 있습니다 (올바른 순서로 파일을 두 번 열면 작동하지 않습니다). 내 인생에서 나는 tee /dev/tty
이것을 작동시키는 데 필요한 마술 exec 호출 (을 사용하더라도 )을 알아낼 수 없습니다 .
tee
파일 설명 자로 직접 출력 할 수는 없지만 프로세스 대체를 사용 cat
하여 해결할 수 있습니다.
exec 3>&1 &>log 1> >(tee >(cat >&3))
따라서 stdout은 fd3을 통해 출력으로 이동하고 stdout과 stderr 모두 로그로 이동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다