我有以下脚本:
#!/bin/sh -e
PWD="supersecretpassword"
file="/backup/2do/example.txt"
echo before
echo $PWD | gpg --passphrase-fd 0 -c $file
echo after
Run Code Online (Sandbox Code Playgroud)
如果手动执行,这些脚本工作得很好,但是当作为 crontab 执行时,当 gpg 行被执行时就会停止工作。
GPG 显示:
gpg: cannot open `/dev/tty': No such device or address
Run Code Online (Sandbox Code Playgroud)
我很感激任何建议!
解决方案:添加--no-tty到 GPG
小智 9
/usr/bin/gpg --no-tty --passphrase-file /home/vouuuuuuuuu/settings/passfile.txt --decrypt-files /home/juhuuu/dirname/*.gpg;
Run Code Online (Sandbox Code Playgroud)
--no-ttycannot open/dev/tty': No such device or address`添加-vv到gpg命令以查看更多输出。不过,这可能与失踪有关~/.gnupg。