在脚本执行期间被询问时如何从python脚本或shell脚本输入密码

时间:2018-09-27 07:15:48

标签: python python-3.x python-2.7 sh

嗨,我在python脚本下面有以下一行

Script name :   add_cert.py

keytool -keystore client.truststore.jks -alias rby-yagpps -import -file rby-yagpps_1.crt
keytool -keystore client.truststore.jks -alias rby-yagpps -import -file rby-yagpps_1.crt
keytool -keystore client.truststore.jks -alias rby-yagpps -import -file rby-yagpps_1.crt
keytool -keystore client.truststore.jks -alias rby-yagpps -import -file rby-yagpps_1.crt

每行由脚本执行,要求输入密码,以上所有行我都有相同的密码

如何在无需人工干预的情况下自动输入密码?

2 个答案:

答案 0 :(得分:1)

也许您可以尝试pexpect。它旨在处理交互式程序,这似乎是您的情况。

答案 1 :(得分:1)

您可以使用pexpect自动执行此过程。您可以使用these个示例。

这看起来像一个小例子。

child = pexpect.spawn('./add_cert.py')
child.expect('enterpassword') # This is a regex searching for print statement of script
child.sendline('yourpassword')
# repeat your process so long as the `expect` is `enterpassword`

您可以找出某种特定于您的案例的循环,以使其高效地执行。