
一度に複数のファイルを復号化し、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