Я пытаюсь создать резервную копию устройства Linkproof с сценарием ожидания, и у меня есть некоторые проблемы. Это мой первый скрипт ожидать, и я должен достигнуть своих пределов;)Команда не пишет в буфере с Expect
#!/usr/bin/expect
spawn ssh @IPADDRESS
expect "username:"
# Send the username, and then wait for a password prompt.
send "@username\r"
expect "password:"
# Send the password, and then wait for a shell prompt.
send "@password\r"
expect "#"
# Send the prebuilt command, and then wait for another shell prompt.
send "system config immediate\r"
#Send space to pass the pause
expect -re "^ *--More--\[^\n\r]*"
send ""
expect -re "^ *--More--\[^\n\r]*"
send ""
expect -re "^ *--More--\[^\n\r]*"
send ""
# Capture the results of the command into a variable. This can be displayed, or written to disk.
sleep 10
expect -re .*
set results $expect_out(buffer)
# Copy buffer in a file
set config [open linkproof.txt w]
puts $config $results
close $config
# Exit the session.
expect "#"
send "logout\r"
expect eof
Содержание выходного файла:
подлинность хозяина «@IP (XXX.XXX.XXX.XXX)» может не будет установлено.
RSA ключ отпечаток пальца XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Возможно, вы хотите продолжить соединение (да/нет)? @Username
Пожалуйста, введите «да» или «нет»: @password
Пожалуйста, введите «да» или «нет»: система конфигурации немедленного
Пожалуйста, введите «да» или «нет»:
Как вы можете видеть, результат команды отсутствует в файле. Не могли бы вы помочь мне понять, почему? Спасибо за помощь.
Ромуальд