我有一个在crontab中运行的bash脚本。它执行文件的GPG解密。 我想拦截错误:
gpg: encrypted with RSA key, ID XXXXXXX
gpg: decryption failed: No secret key
这是我的剧本:
#!/bin/bash
DECRYPT_DIR="/my_folder/"
THE_KEY="MY_KEY"
(
echo "$(date "+%Y-%m-%d %T") : Start"
for f in `ls ${DECRYPT_DIR}*.gpg`
do
filename="${f##*/}"
filenameWithoutExtension="${filename%.*}"
echo ${THE_KEY} | gpg --passphrase-fd 0 --batch --output /my_folder/decrypted_files/$filenameWithoutExtension --decrypt $f
trap "mv $f /my_folder/decrypted_files/ERREURS/$filename; continue;" ERR
mv $f /my_folder/ARCHIVES/$filename
done
echo "$(date "+%Y-%m-%d %T") : End"
) >& /my_folder/logs/gpgsh.log
它确实将我的文件移动到ARCHIVES
文件夹,但没有捕获解密失败