bash – 如何从cron运行的脚本运行gpg?

我有一个脚本,其部分看起来像这样:
for file in `ls *.tar.gz`; do
  echo encrypting $file
  gpg --passphrase-file /home/$USER/.gnupg/backup-passphrase \
    --simple-sk-checksum -c  $file
done

由于某些原因,如果我手动运行这个脚本,工作完美,所有文件都被加密。如果我运行这个作为cron作业,echo $ file工作正常(我在日志中看到“加密< file>”),但是该文件没有加密,gpg无声,没有stdout / stderr输出。

任何线索?

事实证明,答案比我预期的要容易得多。缺少一个–batch参数,gpg尝试从/ dev / tty读取cron作业不存在。要调试我已经使用了–exit-on-status-write-error-param。但是使用我的启发是由退出状态2,回应$?正如Cd-Man所说。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...