Ottieni la risposta della connessione nella variabile dello script KSH


0

Sto scrivendo uno script ksh che collegherà un elenco di server e controllerà la versione del kernel e lo trasmetterà allo schermo.

Questo è il mio codice finora:

#!/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

Funziona alla grande ma se il server non è raggiungibile o il nome host non è noto, la variabile del kernel sarà vuota.

Quando eseguo lo script, vedo gli errori "host nor service provided" o "connection time out" ma mi piacerebbe prenderlo, si spera all'interno della variabile del kernel, così posso decidere ulteriormente cosa fare.

Per essere onesti, mi aspettavo che l'output ssh fosse inviato alla variabile del kernel anche se il comando era stato eseguito correttamente o meno.

In ultima analisi, se la connessione non ha avuto esito positivo, voglio che la variabile del kernel sia l'esatto errore di output ssh (es. Ssh: connetti hostName host 22 porta: Timeout della connessione ") in modo da poter eseguire echo o elaborare ulteriormente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.