如何使用expect在Linux中填写密码?

时间:2013-04-29 06:21:17

标签: shell expect

我有一个可执行的二进制文件,当运行时要求提供该服务共有的共享密码。我想通过使用shell脚本'expect'和'send'功能来自动填充密码。我想知道究竟要填写什么。提示跨越多行。我应该填写最后一行还是整个邮件。

Shareserver or network failure -1: please enter keys locally.
Recovering key, 1 share required.
Please enter a share password:

Currnetly我正在做

./My_binary_to_execute.tst
expect "Please enter a share password:"
send "share_pwd"

我没有填写密码,我再次被提示。什么是确切的用法?请不要担心安全问题。密码是共享的,组织已知,而二进制文件也不是关键密码。

1 个答案:

答案 0 :(得分:0)

你应该期待最后一行。 您的脚本无法正常工作的原因有很多。 也许是因为你没有在密码后发回车票:

send "share_pwd\r"

或许你的二进制文件打开另一个shell,期望看不到。