Tcl expect中的超时

Tcl expect中的超时,tcl,expect,Tcl,Expect,尝试自动化ssh过程。ssh进入主机时得到的提示是: ubuntu@ip-172-30-2-110:~$ 我的期望脚本 spawn ssh ubuntu@a.b.c.d expect ":~\$ " 这将在等待模式时超时 但是,如果我将expect语句更改为 expect "\$ " 它工作正常(无需等待) 想知道为什么。显示提示中的“:”和“~”:~$在终端中是彩色的 发现以下expect语句有效(它导致匹配) 有时,将终端类型(TERM环境变量)设置为不支持颜色的类型会有所帮助,例

尝试自动化ssh过程。ssh进入主机时得到的提示是:

ubuntu@ip-172-30-2-110:~$ 
我的期望脚本

spawn ssh ubuntu@a.b.c.d
expect ":~\$ " 
这将在等待模式时超时

但是,如果我将expect语句更改为

expect "\$ "
它工作正常(无需等待)

想知道为什么。

显示提示中的“:”和“~”:~$在终端中是彩色的

发现以下expect语句有效(它导致匹配)


有时,将终端类型(
TERM
环境变量)设置为不支持颜色的类型会有所帮助,例如(classic)
vt100
expect -re ":.{8}~.{5}\\\$ "