使用期望脚本进行gpg - 密码解密 - 不起作用

时间:2011-11-09 06:06:27

标签: encryption passwords expect gnupg

嗨,我很期待编写脚本。我正在尝试使用gpg进行密码加密/解密。加密没有问题。对于Decryption,我试图使用expect脚本自动化它。 我尝试使用的基本命令是:带加密密码的gpg -o -d< .gpg文件>

当我运行此命令时,它独立,它要求输入密码,当我输入密码时,它会按预期创建输出文件。输出文件中包含密码。

当我使用expect脚本运行此命令以便在运行时自动提供密码时,expect不会创建输出文件。

感谢任何帮助。它没有显示任何错误!输出是:

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 个答案:

答案 0 :(得分:2)

在send命令中使用\r而不是\n\r是回车字符,模仿用户点击Enter。