특정 GNU 화면이 변경될 때마다 어떻게 스크립트를 실행할 수 있나요?

특정 GNU 화면이 변경될 때마다 어떻게 스크립트를 실행할 수 있나요?

저는 일반적으로 별도의 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을 별도로 처리하지 않는 한 스크립트는 이를 처리하지 않습니다.

관련 정보