我有一个期望脚本,我目前正在其中寻找多种提示类型并发送命令作为响应。我知道使用“-re”进行正则表达式匹配,但我想知道实现这一点的正确方法。
例如,我有这些提示类型:
[user@hostname ~]#
user@hostname --->
/ >
-bash-3.00$
cli>
这是检测上述所有内容的正确/充分表达吗?
set multiPrompt "(%|#|cli\>|\$|\-\-\-\>)"
expect -re $multiPrompt
send "$someCommand\r"
另外,我有一个命令列表,其中一些命令在远程系统上执行后会导致提示发生变化。由于提示的更改,剩余的命令没有被发送,因为我的期望脚本无法检测到更改并执行发送操作。
我要做的是创建一个可能的提示池,以便我的期望脚本发送命令而不会丢失任何一个。我的方法正确吗?