使用expect命令

使用expect命令

我有一个安装脚本,它给出以下提示:

请输入选择或按“Enter”键接受默认选择 [1]:

我不能指望抓住它。我尝试围绕 Enter 周围的等式进行操作,但似乎没有任何效果。

任何想法都会受到欢迎

答案1

尝试匹配诸如 之类的字符串会出现两种类型的问题"[1]"

首先,expect使用tcl字符串并且[]是双引号内的特殊字符,因此您需要使用 转义它们\[,或者需要使用大括号引号{}

其次,expect模式默认是 glob 模式,因此 [abc]意味着匹配 a、b 或 c 字符。因此,您要么需要[第二次转义,要么可以使用选项-ex来表示您不想使用 glob,而是使用精确的字符串。

所以应该有效的结果命令是

expect -ex {default choice [1]:}

相关内容