庆典:不期望有多个密码提示工作?(bash: does expect work with multi

2019-09-20 01:06发布

我目前正在使用预期密码来传递,所以我的脚本可以没有我不得不一遍又一遍坐在相同的密码和周围型自动运行。

重要提示:请不要对多大的安全隐患,这是或者我应该如何使用SSH密钥,我想如果我可以使用这些,但是设置我有工作不允许对此发表评论。

我的代码如下所示:

#!/bin/sh

PASS=mypassword

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

我的问题是,install.py提示输入相同的密码了十几次,它似乎只期望汽车填补了第一次提示密码。

有没有修改的行为,使其在密码填写所有12次,不只是第一次的方法吗?

Answer 1:

你必须做一个小节目。 幸运的是,答案很简单:

#!/bin/sh

PASS=MyPassword
export PASS

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

清理壳报价有点太。



文章来源: bash: does expect work with multiple password prompts?