执行远程命令和显示输出的简单 EXPECT 脚本

s.m*_*hai 3 ssh expect

我正在尝试连接到网络路由器并show status在其上执行。
目前我正在使用: 它不起作用,我被困在我尝试输入密码但它不起作用,我得到:我在这里做错了什么......?
spawn ssh -o StrictHostKeyChecking=no admin@192.168.20.254
expect " * ? password:*\r"
send -- "secretPassword\r"
sleep 5
send -- "show status\r"
sleep 10
send -- "exit\r"

admin@192.168.20.254's password:
server1:~# secretPassword
-bash: server1: command not found
server1:~#


use*_*517 5

尝试这样做

#!/usr/bin/expect -f
set timeout 120
spawn ssh -o StrictHostKeyChecking=no admin@192.168.20.254
expect "*?assword:*"
send -- "secretPassword\r"
sleep 5
send -- "show status\r"
sleep 10
send -- "exit\r"
expect eof
Run Code Online (Sandbox Code Playgroud)

如果您的设备响应缓慢,您可能需要设置合适的超时时间。