TCL期待正则表达

时间:2011-06-27 10:11:11

标签: regex tcl expect


     我正在尝试编写一个脚本,通过TCL / Expect从一个系统爬升到另一个系统。它对我有用。我需要一个正则表达式,其中期望“$”期望“#”组合在一起,以便任何系统在路径中包含任何提示可以包括在内。

#!/usr/bin/expect
# Using ssh from expect

log_user 0
spawn ssh test@192.168.2.24
expect "sword: "
send "test\r"
expect "$ "
send "ssh beta\r"
expect "# "
send "uptime\r"
expect "# "

set igot $expect_out(buffer)
puts $igot

2 个答案:

答案 0 :(得分:13)

使用此:

expect -re {[$#] }

答案 1 :(得分:8)

更通用的解决方案:

set prompt "(%|#|\\\$) $"
expect -re $prompt

此匹配 $
第二个美元符号确保仅在输入结束时匹配模式。