Na página timeout
man (GNU coreutils 8.22) ...
--preserve-status
exit with the same status as COMMAND, even when the command times out
Então seu comando se tornaria
timeout --preserve-status 5 nc -w 5 bach; echo $?
Eu quero testar a conectividade com um host arbitrário usando o netcat. Parece que o argumento -w
na verdade não fecha a conexão após 5 segundos. (Isso está no Ubuntu 14.04 e netcat-traditional
1.10-40). Só continuará tentando conectar por 5 segundos. O que eu realmente quero saber é se nc
foi capaz de se conectar com sucesso ao host (status de saída 0).
Para contornar o problema nc
, executei nc
do comando timeout
. Isso produz a funcionalidade desejada, porém o tempo limite sempre sai com um código de status 124.
O que eu realmente quero é o status de saída de nc
. Como posso conseguir isso quando estou correndo
timeout 5 nc -w 5 bach; echo $?
Tags netcat linux ubuntu-14.04