As outras respostas -c
e as respostas -q
dadas estão corretas no contexto certo, mas pode ajudar a resumir por que existem várias respostas e fornecer uma solução mais geral.
Essas opções diferentes fazem a mesma coisa, mas são implementações diferentes do netcat:
-c
Implementação GNU do netcat
-q
Implementação de netcat no OpenBSD.
-w
(other?) Implementação de netcat no OpenBSD.
Algumas versões requerem um int para especificar o número de segundos a aguardar antes de sair para as opções -q
e -w
. Este int deve ser > 0
ou >= 0
, dependendo da versão.
Se você estiver implementando algo em várias máquinas e não tiver certeza de que eles usam a mesma implementação do netcat, considere encerrar sua chamada do netcat com o timeout
programa para eliminar o netcat após alguns segundos.
timeout 5 echo '{"hostUp": true}' | netcat localhost 8001
Essa abordagem é um pouco desajeitada porque coloca um limite superior na execução do netcat, independentemente de o envio ou não de dados ser bem-sucedido, mas se você estiver enviando uma pequena quantidade de dados e tiver alguns segundos de sobra, isso deve funcionar com qualquer implementação netcat.