期待与bash阅读

时间:2012-10-19 20:16:48

标签: bash expect

我正在尝试使用expectbash脚本对话,但我遗漏了一些东西。我的剧本是:

#!/bin/bash
echo -n "foo? "
read
echo $REPLY

我的expect脚本是:

#!/usr/bin/expect
spawn ./script.sh
expect "foo? "
send "bar\r\n"

但是当我运行bar脚本时,我从未看到expect。我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

愚蠢的我,我需要将interact添加到我的expect脚本中,以便它可以完成与脚本的“交互”:

#!/usr/bin/expect
spawn ./script.sh
expect "foo? "
send "bar\r\n"
interact

在提出这个问题两分钟后我找到了答案here

答案 1 :(得分:1)

我不熟悉expect语法,但您值得尝试autoexpect

autoexpect ./script.sh

它将运行script.sh,在您完成运行后,将在当前目录中创建一个期望脚本script.exp

如果您需要调整内容,可以编辑它。