Estou escrevendo um script ksh que percorrerá uma lista de servidores e verificará a versão do kernel e a saída para a tela.
Este é o meu código até agora:
#!/usr/bin/ksh
set -x
for ssh_host in $(cat srvlist)
do
kernel='ssh $ssh_host "uname -a | cut -d' ' -f 1"'
echo "This is the kernel result " $kernel " for $ssh_host"
done
Isso está funcionando muito bem, mas se o servidor não estiver acessível ou o nome do host não for conhecido, a variável do kernel estará vazia.
Quando executo o script, vejo os erros "host nem serviço fornecido" ou "conexão esgotada", mas gostaria de saber isso, espero que dentro da variável do kernel, para que eu possa decidir o que fazer.
Para ser honesto, eu esperava que a saída ssh fosse enviada para a variável kernel mesmo que o comando tenha sido executado com sucesso ou não.
Bottom-line, se a conexão foi mal sucedida eu quero que a variável do kernel seja o erro exato de saída ssh (por exemplo, ssh: conecte ao host HostName porta 22: conexão expirou ") para que eu possa ecoar ou processar mais. / p>