Eu tenho um servidor simples escutando em um soquete de domínio Unix (em uma caixa do CentOS, caso isso seja importante). Quando eu envio o comando "DATE" para o soquete, ele grava uma mensagem de boas vindas e, em seguida, "15 de abril de 2015". Eu posso fazer isso manualmente usando o comando:
socat - UNIX-CONNECT:/tmp/server.sock
mas agora quero fazer o script. Eu posso enviar meu comando DATE para o soquete, canalizando a saída de eco para o acima, mas depois socat retorna com apenas a mensagem de boas vindas. Eu não tenho certeza se o socat está retornando apenas as duas primeiras linhas, ou esperando por um período de silêncio antes de fechar o socket, ou o quê. por exemplo:
echo "DATE" | socat - UNIX-CONNECT:/tmp/server.sock
Como posso fazer com que a socat capture toda a resposta antes de desconectar? Eu tentei os parâmetros -t e -T para esperar 5 segundos, mas isso não tem efeito, a socat retorna imediatamente.