你好,我对 expect 脚本比较新手。我正在尝试使用 gpg 进行密码加密/解密。加密没有问题。对于解密,我正在尝试使用 expect 脚本进行自动化。
我尝试使用的基本命令是:gpg -o -d <已加密密码的 .gpg 文件>
当我单独运行这个命令时,它会要求输入密码短语,当我输入后,它会创建输出文件,就像预期的那样。输出文件中包含了密码。
但是当我使用 expect 脚本运行此命令以便在运行时自动提供密码短语时,expect 不会创建输出文件。
任何帮助都将不胜感激。它没有显示任何错误! 输出为:
spawn gpg -o /home/gandhipr/passwdfile -d /home/gandhipr/passfile.gpg
gpg: CAST5 encrypted data
Enter passphrase:
以下是我的expect脚本。
#!/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
/proc/$pid/cmdline
就可以清楚地看到口令,会有什么问题?),但我四处潜伏,这是最直接的做法。 - Dacav