Eu quero
- iniciar o comando ping
- obter apenas a primeira linha
- após a saída da primeira linha, termine o comando ping e coloque essa primeira linha em uma variável
Eu fiz :
firstline=$(ping -c 1 <site> > tmpfile | head -1)
mas ele completa o comando ping e grava no arquivo tmp e depois pega a primeira linha. Como posso encerrar o fluxo de saída do comando ping após a saída de sua primeira linha?
Parece que você está tentando usar
ping
para resolver nomes de host e não quer esperar quando o host não é passível de ping (ou leva muito tempo para responder).ping
não é a melhor ferramenta para isso; em vez disso, você pode usarhost
, oudig
, por exemplo, ou talvez com mais precisão se quiser replicar as pesquisas realizadas porping
,getent hosts
. Estes irão realizar a pesquisa e retornar, sem tentar entrar em contato com o host.