特定の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を別々に処理しない限り、スクリプトはそれを処理しません。

おすすめ記事