如何在expect中发送BACKSPACE?

3

我正在尝试自动化一些工具,目前我已经

 spawn  /home/rundoc.sh $path $view
 expect "Please enter correct product number []"
 sleep 2
 send "CX102504\r"

问题在于默认情况下,提示框中会添加最后一个产品编号,例如:
Please enter correct product number [] CX000001

当我在prom环境中运行我的expect脚本时

Please enter correct product number [] CX000001CX102504

所以,除了发送BACKSPACE(删除)以外,我怎么能知道默认产品编号添加设置仅限于提示的新产品编号呢?例如,类似以下内容:
send "<BACKSPACE><BACKSPACE><BACKSPACE><BACKSPACE><BACKSPACE>CX102504\r"
2个回答

5
send \010

这将发送退格字符。它基本上是退格字符的八进制表示。
参考资料:ASCII表Tcl Wiki

嗨,退格键可以使用,我也尝试了删除键发送"\0177\0177\0177\0177\0177\0177\0177\0177\0177\0177\0177\0177\0177\0177\0177\0177$product_number\r",但是我得到的是"请输入正确的产品编号 [CX0023586] ^O7777777777777777CX555566"。 - undefined

5

或者你可以只使用一次\025,即Ctrl-U(对于readline编辑),它删除了光标和行首之间的所有内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接