
fabiano12
(usa Ubuntu)
Enviado em 22/01/2020 - 10:56h
Senhores bom dia,
Tenho um script que faz um ping numa lista de ips (arquivo.txt). Até aí ela funciona perfeitamente. O problema é que agora, nesta lista, também ha o nome da estação junto. Exemplo de como é a lista, abaixo:
192.168.20.31;CPU1
192.168.20.32;CPU2
192.168.20.33;CPU3 e por aí vai.
O script que tenho é este abaixo:
#!/bin/bash
CPUs=(`cat arquivo.txt | awk -F ";" '{print $1}'`)
for ((i = 0; i < ${#CPUs[@]}; i++)); do
ping -q -c1 "${CPUs[i]}" &> /dev/null
case "$?" in
'0') STATUS="OK" ;;
'1') STATUS="FORA DE ALCANCE" ;;
*) STATUS="ERRO" ;;
esac
echo "ESTACAO: ${CPUs[i]} [${STATUS}]"
done
O que estou pretendendo é: que a cada resposta de ping, seja positivo ou negativo, ele traga, além do IP, o nome da estação junto. Hoje a resposta é:
ESTACAO: 192.168.20.31 [OK]
ESTACAO: 192.168.20.32 [OK]
ESTACAO: 192.168.20.33 [FORA DE ALCANCE]
O que pretendo:
ESTACAO: 192.168.20.31/CPU1 [OK]
ESTACAO: 192.168.20.32/CPU2 [OK]
ESTACAO: 192.168.20.33/CPU3 [FORA DE ALCANCE]
Alguem teria uma ideia de como montar estas respostas? Tentei algumas coisas aqui mas sem exito.
Certo da atenção.
Sds,
Fabiano Lima