嗨,我很期待编写脚本。我正在尝试使用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
答案 0 :(得分:2)
在send命令中使用\r
而不是\n
:\r
是回车字符,模仿用户点击Enter。