我有一个 Expect 脚本,它会生成与 hunspell 的连接来检查单词的拼写。不幸的是,如果该单词在字典中,hunspell 只会发回一个 *。我怎么知道期望将其解释为一个字符而不是“任何东西”?
答案1
有两层:模式匹配器和 TCL。诀窍是反斜杠一个反斜杠,这样后续的星号在它向下穿过所涉及的层之后就不再特殊了。
#!/usr/bin/expect -f
#spawn echo "cat"
spawn echo "*"
expect {
"cat" { set gots "dog" }
"\\*" { set gots "star" }
}
puts $gots