sshpass выход в автоматизации
У меня всего 6 IP-адресов, и из 6 только 2 IP-адреса действительны. Я написал сценарий оболочки, чтобы использовать sshpass для проверки каждого IP.
Проблема заключается в том, что когда сценарий достигает IP-адреса, который работает, он регистрируется в системе (коммутатор Cisco) и остается там и не продолжает цикл, чтобы проверить оставшиеся IP-адреса. Если я наберу "выход" в системе, то он продолжит цикл.
После успешного входа в систему, как скрипт может автоматически выйти из зарегистрированной системы и продолжить тестирование оставшегося IP?
/ usr / bin / sshpass -p $ ADMINPASS ssh -oStrictHostKeyChecking = no -oCheckHostIP = no -t $ ADMINLOGIN @ $ IP выход
я могу использовать статус выхода, чтобы выяснить, какой IP работал, а какой не работал.
1 ответ
Сначала проверьте, активен ли IP, а затем "ssh" может помочь вам. Я не знаю, используете ли вы цикл или нет, но цикл может быть хорошим выбором. Должен выглядеть так: для f в ip-1 ip-2 ip-3 ip-4 ip-5 ip-6; сделать ping -c 1 -w 3 $f; если [ $? -экв. 0 ]; тогда эхо ОК; ssh_pass $f your_command; еще эхо " IP is NOK"; Fi; done Затем вы также можете добавить команду 'exit', в зависимости от того, что вы тестируете: 'exit 0', если все в порядке, после команды 'ssh', 'exit 1', если NOK.