![파일에서 stdout/stderr을 캡처하지만 콘솔에서는 계속 볼 수 있는 방법은 무엇입니까?](https://linux55.com/image/110646/%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20stdout%2Fstderr%EC%9D%84%20%EC%BA%A1%EC%B2%98%ED%95%98%EC%A7%80%EB%A7%8C%20%EC%BD%98%EC%86%94%EC%97%90%EC%84%9C%EB%8A%94%20%EA%B3%84%EC%86%8D%20%EB%B3%BC%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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
및 이라는 파일이 저장됩니다.stdin
stdout
typescript