Использование сценария ожидаемого для gpg - расшифровка пароля - не работает - PullRequest
2 голосов
/ 09 ноября 2011

Привет, я довольно новичок в сценарии. Я пытаюсь использовать gpg для шифрования / дешифрования пароля. Шифрование не имеет проблем. Для расшифровки я пытаюсь автоматизировать его с помощью сценария ожидаемого. Основная команда, которую я пытаюсь использовать: gpg -o -d <.gpg файл с зашифрованным паролем>

Когда я запускаю эту команду в одиночку, она запрашивает парольную фразу, когда я ее ввожу, она создает выходной файл, как и ожидалось. Выходной файл содержит пароль.

Когда я запускаю эту команду с использованием сценария ожидаемого события, чтобы во время выполнения автоматически выдавалась фраза-пароль, ожидаемый файл не создавал выходной файл.

Любая помощь приветствуется. Это не показывает никаких ошибок! Выход:

spawn gpg -o /home/gandhipr/passwdfile -d /home/gandhipr/passfile.gpg
gpg: CAST5 encrypted data
Enter passphrase: 

Ниже приведен мой ожидаемый сценарий.

#!/usr/bin/expect
set timeout 1
set passdir [lindex $argv 0]
set passfile [lindex $argv 1]
set passfilegpg [lindex $argv 2]
set passphrase [lindex $argv 3]
spawn gpg -o $passdir$passfile -d $passdir$passfilegpg
expect "Enter passphrase:"
send "$passphrase\n"
exp_internal 1
exit 0;
interact

1 Ответ

2 голосов
/ 09 ноября 2011

Используйте \r вместо \n в команде отправки: \r - это символы возврата каретки, которые имитируют нажатие клавиши Enter.

...