0

在下面的期望脚本中,我注意到脚本会在提示输入密码之前发送密码。如何防止这种情况?我可以使用等待声明之类的吗?

#!/usr/bin/expect -f
#set timeout 25
spawn rsync root@14.12.123.82:'/usr/backups /usr/backup-scripts /root/test/' /root/
expect "root@14.12.123.82's password: $"
send "\$xxxxxx\n"
expect "\\$ $
4

1 回答 1

0

您甚至不需要expect用于此任务。根据手册页,rsync 支持直接从文件中读取密码的选项:

rsync --password-file=file_that_password_is_in root@14.12.123.82:'/usr/backups /usr/backup-scripts /root/test/' /root/

或者使用环境变量:

export RSYNC_PASSWORD=secret
rsync root@14.12.123.82:'/usr/backups /usr/backup-scripts /root/test/' /root/
于 2010-11-26T07:53:30.367 回答