Como posso executar um script toda vez que uma determinada tela do GNU muda?

0

Estou executando um servidor Minecraft em uma tela GNU que geralmente é separada. O que eu quero fazer é assistir a tela e executar um script toda vez que algo for impresso na tela (o que o programa do servidor faz com bastante frequência).

Isso é possível? Se sim, como?

    
por tjespe 19.08.2017 / 13:53

1 resposta

1

Você pode escrever um script de wrapper:

#!/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

Você pode usar o script acima, canalizando a saída do seu programa para o script

Por exemplo, se o script acima for chamado ./wrapper.sh e seu programa for prog :

prog | ./wrapper.sh

Observe que, se algo for impresso em erro padrão por prog , ele não será processado pelo script, a menos que você o redirecione ou manipule stderr separadamente.

    
por 19.08.2017 / 14:04