我正在尝试使用加密某些内容,gpg -a
并将结果返回到标准输出,而不是文件。根据手动的,省略一个标志应该就足够了--output
,但事实似乎并非如此。当我不指定输出文件时,gnupg 会假定我输出到 stdout[input-file].gpg
而不是 stdout。
有没有办法让 GPG 做到这一点,或者我必须让它加密为一个临时文件然后再执行cat
它?
答案1
不要将输入文件传递给 gpg,而是使用 shell 重定向将输入文件发送到 gpg 的标准输入,例如:
gpg -ac < inputfile
答案2
万一有人仍然需要这样做,你可以这样做
gpg -ac -o- infile
将输出文件名设置为“-”会将输出发送到标准输出。
答案3
如果其他人需要更好或更简洁的答案:
您可以使用gpg --output -
任何其他标志。
对于上面的例子你可以gpg --armor --symmetric --output - file.txt
这样做gpg -aco - file.txt
答案4
编辑:抱歉,我意识到你想要对称加密
gpg -a -c
系统会提示输入密码,输入完信息后按 ctrl+d
gpg -a --encrypt -r [email protected]
然后输入消息,完成后按 ctrl+d