Isso pode ser feito com nc . O snippet a seguir lê as linhas da porta 5000 e executa some_command se a linha for token ou some_other_command se a linha for foo . Depois que o cliente se desconecta, nc é executado novamente.
while true; do
nc -l 5000 | {
while read line; do
case "$line" in
token )
some_command;;
foo )
some_other_command;;
esac
done
}
done
Para conversar, execute nc localhost 5000 e digite, por exemplo:
foo
token
whatever
foo
Finalize com Ctrl + D ou Ctrl + C . A desvantagem é: quando um cliente fica conectado, nenhum outro pode se conectar. Para minimizar essas colisões, você pode enviar um comando por vez e desconectar imediatamente:
echo token | nc localhost 5000
ou (no Bash)
echo token > /dev/tcp/127.0.0.1/5000