我有以下脚本:
#!/bin/sh -e
PWD="supersecretpassword"
file="/backup/2do/example.txt"
echo before
echo $PWD | gpg --passphrase-fd 0 -c $file
echo after
如果手动执行,脚本可以正常运行,但是当以 crontab 形式执行 gpg 行时,脚本就会停止工作。
GPG 显示:
gpg: cannot open `/dev/tty': No such device or address
我很感激任何建议!
解决方案:添加--no-tty
到 GPG
答案1
添加-vv
到gpg
命令中以查看更多输出。不过这可能与缺失有关~/.gnupg
。
答案2
/usr/bin/gpg --no-tty --passphrase-file /home/vouuuuuuuuu/settings/passfile.txt --decrypt-files /home/juhuuu/dirname/*.gpg;
- 现在工作正常,感谢
--no-tty
- 在 cron 作业日志 gpg:
cannot open
/dev/tty': 没有这样的设备或地址` - 所以之前无法执行,现在可以了!
答案3
要解决这个问题,只需在 gpg 命令行中添加“--no-tty”选项。答案取自缓存的谷歌页