在脚本中使用等待
在下面的期望脚本中,我注意到该脚本甚至在提示输入密码之前就会发送密码。如何防止这种情况发生?我可以使用等待语句或其他什么吗?
#!/usr/bin/expect -f
#set timeout 25
spawn rsync [email protected]:'/usr/backups /usr/backup-scripts /root/test/' /root/
expect "[email protected]'s password: $"
send "\$xxxxxx\n"
expect "\\$ $
In the following expect script, I noticed that the script will send the password even before prompted for the password. How can this be prevented? Could I use a wait statement or something?
#!/usr/bin/expect -f
#set timeout 25
spawn rsync [email protected]:'/usr/backups /usr/backup-scripts /root/test/' /root/
expect "[email protected]'s password: $"
send "\$xxxxxx\n"
expect "\\$ $
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您甚至不需要使用
expect
来完成此任务。根据手册页,rsync支持直接从文件读取密码的选项:或者使用环境变量:
You shouldn't even need to use
expect
for this task. According to the man page, rsync supports an option to read a password directly from a file:Or using an environment variable: