파일에서 stdout/stderr을 캡처하지만 콘솔에서는 계속 볼 수 있는 방법은 무엇입니까?

파일에서 stdout/stderr을 캡처하지만 콘솔에서는 계속 볼 수 있는 방법은 무엇입니까?

Amazon Linux에서 bash 스크립트를 사용하고 있습니다. stderr 및 stdout을 실행할 수 있는 파일로 리디렉션하려는 경우

./my_process.pl &>/tmp/out.txt

이 출력을 파일로 리디렉션하고 콘솔(내 셸)에서 계속 볼 수 있는 방법이 있습니까? 당신은 그렇게 않았다 방법?

답변1

예, 다음을 사용하면 됩니다 tee.

/my_process.pl 2>&1 | tee /tmp/out.txt

표준 출력과 표준 오류를 파일로 리디렉션하는 것은 &>file일부 쉘에서 허용하는 POSIX 표준의 확장입니다. 사용하는 것이 더 안전합니다 >file 2>&1. 이 경우 &>파일로 리디렉션하지 않기 때문에 전혀 작동하지 않습니다.

다음 에서도 bash이 작업을 수행할 수 있습니다 .

/my_process.pl |& tee /tmp/out.txt

이는 위와 동일합니다. in ksh93, |&무엇인가를 표현하다완전히다르지만.

답변2

명령을 사용하면 script및 이라는 파일이 저장됩니다.stdinstdouttypescript

관련 정보