我正在尝试编写一个脚本,该脚本通过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
最佳答案
用这个:
expect -re {[$#] }
这样做的关键是:添加
-re
标志,以便我们可以匹配RE,并将RE放入{braces}
中,以免被替换。
关于regex - TCL期望正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491351/