1
我有以下腳本,應該從文件device-list.txt
中提取IP地址,然後telnet到設備,登錄並執行show run。腳本成功登錄到設備,但在此之後給我一個錯誤。任何想法,我會出錯?期望telnet到多個思科設備並執行show run
for device in `cat device-list.txt`; do ./test4 $device;done
cat test4
#!/usr/bin/expect -f
set hostname [lindex $argv 0]
set user myusername
set pass mypassword
set timeout 10
log_file -a ~/results.log
send_user "\n"
send_user ">>>>> Working on $hostname @ [exec date] <<<<<\n"
send_user "\n"
spawn telnet $hostname
expect "Username:"
send "$user\n"
expect "Password:"
send "$pass\n"
expect "#"
send 「term len 0\n」
send 「show running-config\n」
expect 「end\r」
send 「\n」
send 「exit\n」
User Access Verification
Username: myusername
Password:
ROUTER#usage: send [args] string
while executing
"send 「term len 0\n」"
(file "./test4" line 26)
謝謝Dinesh!我不知道那些大括號如何到達那裏。我還有一個關於劇本的問題。我將如何配置,以便我必須在腳本運行時手動輸入用戶名和密碼,而不是將它們保存在實際腳本中? – JulianP
使用'interact'。看看[這裏](http://linux.die.net/man/1/expect) – Dinesh