Я хотел бы сделать сценарий оболочки, который может вызывать диапазон IP-адресов через telnet, чтобы отправить команду и записать результат в файл.

1 ответ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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .