Я пишу скрипт для чтения имени пользователя, пароля и информации о хосте из файла.Затем я анализирую эту информацию, чтобы получить переменные.Затем я хотел бы добавить эти переменные в ожидаемый сценарий, который считывает все IP-адреса в моем файле и выполняет определенные команды на удаленных устройствах, в которые я пытаюсь войти.Сценарий работает, когда он подключается к известному хосту, однако, я вижу, что есть одно устройство, которое не работает и система выдает следующую ошибку.ssh: подключение к хосту 192.168.3.2 порт 22: нет маршрута к хосту
файл, который я хотел бы сделать 2 вещи: 1. Пропустите хост и перейдите к следующему хосту 2. зарегистрируйте хост, который не работаетдругой файл, чтобы я мог решить проблему с сетью на этом хосте.
Пожалуйста, см. скрипт ниже.Пожалуйста, любая помощь приветствуется.
#! /usr/bin/expect -f
## Read the file
set fid [open /csv_pars/employee1.csv]
set content [read $fid]
close $fid
## Split into records on newlines
set records [split $content "\n"]
## Iterate over the records
foreach rec $records {
## Split into fields on comma
set fields [split $rec ","]
## Assign fields to variables and print some out...
lassign $fields\ ipaddr username password
puts "$ipaddr"
puts "$username"
puts "$password"
if {$ipaddr == ""} continue
spawn ssh -X "$username@$ipaddr"
sleep 2
expect "password:"
sleep 2
send "$pass\r"
expect "$"
send -- "ls -l\r"
expect "$"
send -- "exit\r"
expect eof
}