![如何使用 gpg 解密目录中的多个文件?](https://linux22.com/image/584109/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20gpg%20%E8%A7%A3%E5%AF%86%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有一个包含多个 .gpg 文件的目录,所有文件都使用相同的密码加密。我怎样才能解密它们而不用一遍又一遍地输入密码?
答案1
看起来这可以起到作用:
gpg --decrypt-files *.gpg
答案2
如果你有一天需要编写解决方案
#!/usr/bin/env bash
_dir="/some/directory"
_paraphrase=( "$@" )
Decrypt(){
_pass=( "$@" )
for _file in $(ls "${_dir}"); do
case "${_file}" in
*.gpg)
echo "${_pass[*]}" | gpg --always-trust --passphrase-fd 0 --decrypt ${_file} --output ${_file%.gpg*}
;;
esac
done
unset _pass
}
Decrypt "${_paraphrase[*]}"
unset _paraphrase
一些类似的代码在我的个人 GnuPG 脚本中运行良好,这些脚本无需人工交互即可解密。然而,公认的答案
gpg --decrypt-files *.gpg
要安全得多,因为 GnuPG 是唯一处理密码的应用程序。