gpg:如何将多个文件解密到/dev/null?

gpg:如何将多个文件解密到/dev/null?

我想一次解密多个文件并检查 gpg 状态以验证它们的一致性。问题是 --output 选项不能与 --multiline 参数一起使用,并且正常的 STDOUT 重定向被忽略。

find -name '*.gpg' | gpg --multifile --decrypt >/dev/null

重定向被忽略。正常文件已创建。

>find -name '*.gpg' | gpg --multifile --decrypt --output=/dev/null
gpg: --output doesn't work for this command

如何通过单个 gpg 调用来实现这个目标?

答案1

gpg --decrypt每个文件只需调用一次:

find . -type f -name '*.gpg' \
    -exec gpg --decrypt --output /dev/null {} ';'

--output选项与 不兼容--multifile

答案2

假设您使用 Bash >= 4.0:

shopt -s nullglob
shopt -s globstar
for file in ./**/*.gpg; do
  gpg --decrypt --output=/dev/null "$file"
done

相关内容