gpt4 book ai didi

bash - gpg — 仅将内容直接解密到 stout

转载 作者:行者123 更新时间:2023-12-02 16:37:21 25 4
gpt4 key购买 nike

我有文件 secret.txt.gpg 我想解密,这样内容就存储在这样的变量中:

TXT=$(gpg --decrypt secret.txt.gpg)

但是这样会添加很多额外的 gpg: ... 行,包含有关 key 等的信息,例如:

gpg: encrypted with 4096-bit RSA key, ID xxxx, created xxxx
"xx xx (xx) <xx@xx.xx>"
gpg: Signature made xxx
gpg: using RSA key xxx

Secret Message

顺便说一句:

gpg -d secret.txt.gpg > out.txt

只是将内容写入文件。

如何只捕获内容,而不将其写入文件?

更新

尽管@Roger Answer 更好并解释了原因,但我可以使用它:

 TXT=$(gpg --decrypt secret.txt.gpg > /dev/stdout)

最佳答案

GPG 消息被写入 STDERR,这就是为什么通过管道将 STDOUT 传输到文件会忽略这些消息。

如果加密文件未签名,您通常会通过提供 --quiet 开关来抑制有关加密的消息。如果文件已签名,您仍会收到有关签名的消息。即使您提供了 --skip-verify,您仍然会收到一条消息,提示您签名验证已被禁止。

为了抑制所有这些消息,我建议您将 STDERR 通过管道传输到 /dev/null,例如:

TXT=$(gpg --decrypt secret.txt.gpg 2>/dev/null)

关于bash - gpg — 仅将内容直接解密到 stout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62426042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com