运行`gpg`时如何自动覆盖输出文件(即没有提示)?

Nin*_*inu 35 gnupg

如果目标目录中的文件名相同,则解密失败.

我用来解密的命令:

gpg --passphrase-fd 0 -o D:/Notification/mytest.txt --batch \
  --passphrase-file D:/passphrase.txt -d D:/Notification/mytest.gpg
Run Code Online (Sandbox Code Playgroud)

它不会覆盖mytest.txt文件,所以每次我需要在执行脚本之前删除文件.

有没有选项可以覆盖输出fie?

小智 56

添加 --batch --yes

例:

gpg --batch --yes -u me@bbb.com -r "you@aaa.com" \
  --output "OUTPUTFILENAME.xls.pgp" -a -s -e "FILE.xls"
Run Code Online (Sandbox Code Playgroud)

使用密码短语文件的完整示例:

gpg --batch --yes --passphrase-fd 0 -u me@bbb.com -r "you@aaa.com" \
  --output "OUTPUTFILENAME.xls.pgp" -a -s -e "FILE.xls"< \
  passphrase.txt
Run Code Online (Sandbox Code Playgroud)


小智 28

只需将该--yes选项添加到命令行即可.--yes对于大多数gpg提示的问题,该选项假定为是.

资料来源:http://www.gnupg.org/gph/de/manual/r1023.html

  • 这不是那么危险,因为除了"文件存在 - 覆盖?"之外的问题它会回答"是"吗? (14认同)
  • `rm -f filename.gpg &amp;&amp; gpg2 [...] -o filename.gpg filename` 在大多数情况下可能是合适的。 (4认同)