Получите ответ соединения в переменную скрипта KSH
Я пишу сценарий ksh, который будет перебирать список серверов, проверять версию ядра и выводить это на экран.
Это мой код до сих пор:
#!/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
Это прекрасно работает, но если сервер недоступен или имя хоста неизвестно, переменная ядра будет пустой.
При запуске скрипта я вижу ошибки «host or service условии» или «timedout timed», но я хотел бы это отследить, надеюсь, внутри переменной ядра, чтобы я мог далее решить, что делать.
Честно говоря, я ожидал, что вывод ssh будет отправлен в переменную ядра, даже если команда была успешно выполнена или нет.
В итоге, если соединение было неудачным, я хочу, чтобы переменная ядра была точной ошибкой вывода ssh (например, ssh: соединение с хостом HostName, порт 22: тайм-аут соединения "), чтобы я мог выполнить эхо или дальнейшую обработку.
0 ответов на вопрос
Похожие вопросы
-
10
Как настроить SSH, чтобы мне не приходилось вводить свой пароль?
-
3
Как я могу использовать ssh для запуска команды на удаленной машине Unix и выхода до ее завершения?
-
8
Спаси меня от бессмысленного терминала
-
-
4
Как заставить ключи HOME или END работать в mc, работающем на OS X (ssh)
-
1
ksh эквивалент perl $! причина ошибки
-
3
/ usr / bin / reset отключает возврат
-
4
Создан ключ с использованием SSH keygen, не может увидеть папку с помощью filezilla
-
9
Могу ли я загрузить файл на свой компьютер из telnet (putty)?
-
4
Как мне подключиться к SSH серверу из Ubuntu?
-
1
Структура открытого ключа OpenSSH