응용 프로그램의 표준 출력을 다른 응용 프로그램의 입력으로 리디렉션하지만 여전히 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