1

我有如下所示的 bash 代码:

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

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

4

1 回答 1

2

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

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

interact将当前进程的控制权交给用户,这样击键就发送到当前进程,并返回当前进程的stdout和stderr。

我会尝试以下任何一种:

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

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

于 2012-09-04T15:49:54.550 回答