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

Shell 如何使用expect在Linux中填写密码?,shell,expect,Shell,Expect,我有一个可执行的二进制文件,当运行时,它会要求提供该服务所共有的共享密码。我想通过使用shell脚本“expect”和“send”功能来自动填充密码。我想知道到底要填什么。提示跨越多行。我应该填写最后一行还是全部信息 Shareserver or network failure -1: please enter keys locally. Recovering key, 1 share required. Please enter a share password: 现在我在做什么 ./My_

我有一个可执行的二进制文件,当运行时,它会要求提供该服务所共有的共享密码。我想通过使用shell脚本“expect”和“send”功能来自动填充密码。我想知道到底要填什么。提示跨越多行。我应该填写最后一行还是全部信息

Shareserver or network failure -1: please enter keys locally.
Recovering key, 1 share required.
Please enter a share password:
现在我在做什么

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

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

你应该期待最后一行。 脚本不起作用的原因有很多。 可能是因为您没有在密码后发送回车:

send "share_pwd\r"
或者您的二进制文件打开了另一个shell,expect没有看到它