Я хотел бы сделать сценарий оболочки, который может вызывать диапазон IP-адресов через telnet, чтобы отправить команду и записать результат в файл.
1 ответ
0
SSH проще, чем Telnet:
for host in host1 host2 host3; do
ssh user@host remote_command with args
done > result.file
Для входа без пароля установите ssh ключи
Это будет иметь ошибки, но что-то вроде:
#!/usr/bin/env expect
exp_internal 1
set out [open "results.txt" w]
foreach ip $argv {
spawn telnet $ip
expect "password: "
send "$password\r"
expect "% " ;# this is the prompt, adjust to suit
sent "the command\r"
expect -re "([01,]+).*% "
puts $out "$ip=$expect_out(1,string)"
send exit
expect eof
exp_close
wait
}
close $out