Использование wait в скрипте - PullRequest
0 голосов
/ 26 ноября 2010

В следующем ожидаемом сценарии я заметил, что сценарий отправит пароль еще до того, как будет запрошен пароль.Как это можно предотвратить?Могу ли я использовать оператор ожидания или что-то в этом роде?

#!/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 "\\$ $

1 Ответ

0 голосов
/ 26 ноября 2010

Вам даже не нужно использовать 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/
...