我正在尝试在远程串行连接上捕获主机的IP,以便以后可以通过SSH进入主机。但是我真的不明白期望是如何工作的,这是我到目前为止提出的。
我尝试使用发布的代码,但似乎我无法使var成为我需要的值,它是空的还是命令本身。
#!/usr/bin/expect -f
spawn serialconn
expect -re "#"
send "ip addr list eth0 |grep -m1 inet |cut -d' ' -f6|cut -d/ -f1\r"
set ip {}
expect {
-regexp {..#} {
append ip "${ip}$expect_out(0,string)"
exp_continue
}
}
puts $ip
spawn serialconn finished
expect -re "%"
spawn sudo ssh $ip
我想问的问题是我的代码中的-regexp {..#}是什么(我找到了代码并对其进行了一些修改)。如果有人可以解释整个过程,那就太好了。谢谢
我希望将IP保存到变量中,以便可以将sudo ssh插入主机。