我有一个安装脚本,它给出以下提示:
请输入选择或按“Enter”键接受默认选择 [1]:
我不能指望抓住它。我尝试围绕 Enter 周围的等式进行操作,但似乎没有任何效果。
任何想法都会受到欢迎
答案1
尝试匹配诸如 之类的字符串会出现两种类型的问题"[1]"
。
首先,expect
使用tcl
字符串并且[]
是双引号内的特殊字符,因此您需要使用 转义它们\[
,或者需要使用大括号引号{}
。
其次,expect
模式默认是 glob 模式,因此 [abc]
意味着匹配 a、b 或 c 字符。因此,您要么需要[
第二次转义,要么可以使用选项-ex
来表示您不想使用 glob,而是使用精确的字符串。
所以应该有效的结果命令是
expect -ex {default choice [1]:}