![app1을 app2로 파이프하고 터미널에 두 출력을 모두 표시하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/156166/app1%EC%9D%84%20app2%EB%A1%9C%20%ED%8C%8C%EC%9D%B4%ED%94%84%ED%95%98%EA%B3%A0%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%20%EB%91%90%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EB%AA%A8%EB%91%90%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
응용 프로그램의 표준 출력을 다른 응용 프로그램의 입력으로 리디렉션하지만 여전히 app1 출력을 볼 수 있는 방법이 궁금합니다.
소스 애플리케이션은 c로 작성되고 두 번째 애플리케이션은 Perl로 작성되었습니다. 이것의 목적은 Perl 스크립트를 사용하여 C 프로그램의 출력을 해석하고 입력을 기반으로 특정 작업을 수행하려는 것입니다. 문제는 ./c_app | ./perl.pl
파이핑을 사용하면 |
펄 스크립트의 출력만 볼 수 있다는 것입니다. Perl이 C_app의 출력을 먹는 것과 같습니다.
를 사용해 보고 tee
몇 가지 예를 찾았지만 모두 다른 응용 프로그램의 입력이 아닌 소스 응용 프로그램의 출력을 파일로 리디렉션하는 데 기반을 두고 있습니다.
아래 다이어그램은 프로세스, 획득 및 예상 결과를 보여줍니다.
한 가지 제한 사항은 C 애플리케이션이나 Perl을 수정할 수 없다는 것입니다. 따라서 Linux를 사용하여 이 문제를 해결하겠습니다. 동일한 터미널을 사용하여 두 출력을 모두 볼 수 있습니까? 어떻게 해결해야 할지 모르겠습니다.
제안 사항, bash 스크립트 등을 알려 주시면 대단히 감사하겠습니다.
답변1
추천해주신 @steeldriver님께 감사드립니다!
해결책은 다음과 같습니다.
./c_app | tee /dev/tty | perl server.pl