【发布时间】:2017-04-22 00:28:57
【问题描述】:
尝试自动化 ssh 进程。我在 ssh 进入主机时得到的提示是:
ubuntu@ip-172-30-2-110:~$
我的期望脚本
spawn ssh ubuntu@a.b.c.d
expect ":~\$ "
这将在等待模式时超时。
但是,如果我将期望语句更改为
expect "\$ "
它工作正常(无需等待)。
想知道为什么。
【问题讨论】:
尝试自动化 ssh 进程。我在 ssh 进入主机时得到的提示是:
ubuntu@ip-172-30-2-110:~$
我的期望脚本
spawn ssh ubuntu@a.b.c.d
expect ":~\$ "
这将在等待模式时超时。
但是,如果我将期望语句更改为
expect "\$ "
它工作正常(无需等待)。
想知道为什么。
【问题讨论】:
原来提示符:~$中的“:”和“~”在终端中是彩色的。
发现以下期望语句有效(它导致匹配)
expect -re ":.{8}~.{5}\\\$ "
【讨论】:
TERM 环境变量)设置为不支持颜色的东西会有所帮助,例如(经典)vt100。