我想tar一个写入stdout的程序的输出和fd = 3的fifo.这是我的第一次尝试:
#!/bin/bash
#Create fd=3
exec 3> >(cat)
#Start the tar
tar -cvzf ha.tgz /dev/fd/1 /dev/fd/3
#Write data
echo stdout
echo 'fd=3'>&3
#close
exec 3>&-
它创建了ha.tgz,其内容为/ dev / fd / 1和/ dev / fd / 3.但是,当我提取文件时,它基本上会创建符号链接到/ dev / fd / 1和/ dev / fd / 3(这是破坏的).我希望文件只是普通文件,其内容将是我在脚本中回应的内容.有没有办法做到这一点?
解决方法:
Is there a way to do this?
不./ dev下的条目不是真实文件,它们只是设备驱动程序的类文件接口.如果您想要常规文件,请使用常规文件.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。