Bash 写入标准输出而不是文件
如何将数据写入标准输出而不是写入文件 我正在使用GPG,希望将加密文本打印到标准输出,而不保存文件 但是,使用gpg命令,加密文本以普通方式写入文件:Bash 写入标准输出而不是文件,bash,Bash,如何将数据写入标准输出而不是写入文件 我正在使用GPG,希望将加密文本打印到标准输出,而不保存文件 但是,使用gpg命令,加密文本以普通方式写入文件: $> gpg --recipient someone@example.com --armor --output encrypted.txt --encrypt example.pdf (使用上述命令,加密文件保存在encrypted.txt中) 我想做的是: $> gpg --recipient someone@example.co
$> gpg --recipient someone@example.com --armor --output encrypted.txt --encrypt example.pdf
(使用上述命令,加密文件保存在encrypted.txt中)
我想做的是:
$> gpg --recipient someone@example.com --armor --output <STDOUT> --encrypt example.pdf
$>gpg——收件人someone@example.com--armor--output--encrypt example.pdf
和加密的消息显示在控制台中
我不想保存硬盘以避免性能损失。通常使用“-”来指定标准输出,但并非所有命令都接受这一点,我也不知道gpg
例如:
tar -cvzf - foo/ ¦ split -b 50k foobar_
将“tar文件”通过管道传输到标准输出,将其拆分并根据
只需省略--output。如果您的应用程序不支持“-”作为文件名(它应该支持),那么另一种选择是使用命名管道,尽管我承认这看起来像是使用大锤敲开螺母:
pipe='/tmp/pipe'
mkfifo "$pipe"
gpg --recipient someone@example.com --armor --output "$pipe" --encrypt example.pdf &
while read
do
echo "$REPLY"
done < $pipe
rm "$pipe"
pipe='/tmp/pipe'
mkfifo“$管道”
gpg——收件人someone@example.com--armor--输出“$pipe”--encrypt example.pdf&
读书时
做
回显“$REPLY”
完成<$pipe
rm“$pipe”
不幸的是,在我的环境中,“gpg——收件人”someone@example.com--armor--encrypt example.pdf“刚刚生成的example.pdf.asc…感谢您提供更多信息:)