저는 일반적으로 별도의 GNU 화면에서 Minecraft 서버를 실행합니다. 내가 하고 싶은 것은 화면을 보면서 무언가가 화면에 인쇄될 때마다 스크립트를 실행하는 것입니다(서버 프로그램이 종종 이 작업을 수행합니다).
가능합니까? 그렇다면 어떻게 해야 할까요?
답변1
래퍼 스크립트를 작성할 수 있습니다.
#!/bin/sh
while IFS= read -r line
do
printf '%s\n' "$line"
# add your command/script here to be run on every new line printed
done < /dev/stdin
프로그램의 출력을 스크립트로 파이프하여 위 스크립트를 사용할 수 있습니다.
예를 들어, 위 스크립트를 호출 ./wrapper.sh
하고 프로그램이 다음과 같다 면 prog
:
prog | ./wrapper.sh
무언가가 stderr 로 인쇄되면 prog
이를 리디렉션하거나 stderr을 별도로 처리하지 않는 한 스크립트는 이를 처리하지 않습니다.