再次期待相同的角色

Expect same character again

期待再次提示以传递不同的命令

spawn bash
sleep 1
expect "$"
send -- "whoami\r"
expect '$'
send -- "hostname\r"  

这个脚本只执行第一个命令

一个明显的问题是在第二个 expect 命令中你使用了单引号 ' 但这些在 Tcl 语法中没有意义,所以你期望的字符串变成了 singlequote-dollar-singlequote ,这当然与您的 bash 提示不匹配。请参阅 https://www.tcl.tk/man/tcl/TclCmd/Tcl.htm#M8 了解 Tcl 接受的引用形式。