期望{exp_continue}后继续脚本

时间:2012-09-04 13:48:00

标签: bash scripting expect

我的bash代码如下所示:

/usr/bin/expect -c '
    spawn python Tools/python/install.py
    expect {
        -nocase "password:" {
            send "$env(PASS)\r"
            exp_continue
        }
    }
    interact
'

此代码似乎有效,除了它提交密码后它会挂起。在这段代码之后,我想在脚本中执行更多代码。有没有办法让我回到bash脚本继续执行这段代码下面的行?

1 个答案:

答案 0 :(得分:2)

(只是正式回答这个问题)......

我猜测interact命令正在咬你。从手册页:

  

interaction 将当前进程的控制权交给用户,以便将键击发送到当前进程,并返回当前进程的stdout和stderr。

我会尝试其中任何一种:

  • 删除interact命令
  • 使用&screen
  • 在后台发出命令

根据您的评论,看起来前者是有效的。