所以我得提取数据在bash脚本从命名管道
mknod fifoPipe p
$CMDPATH/cmd outputFile=fifoPipe &
cat fifoPipe | $CMDPATH/filterProgram > thefile.ext
正在传递到管道出CMD的数据下面是不是文本数据,并使用猫把它弄出来的进入过滤器的管道看起来很乱,任何人对如何使这项工作“更好”有任何想法?
所以我得提取数据在bash脚本从命名管道
mknod fifoPipe p
$CMDPATH/cmd outputFile=fifoPipe &
cat fifoPipe | $CMDPATH/filterProgram > thefile.ext
正在传递到管道出CMD的数据下面是不是文本数据,并使用猫把它弄出来的进入过滤器的管道看起来很乱,任何人对如何使这项工作“更好”有任何想法?
我想问题是$ CMDPATH/cmd本身不能写入标准输出,而是需要输出文件名作为参数。我会试图这样骗过它:
$CMDPATH/cmd outputFile=/dev/stdout | $CMDPATH/filterProgram > thefile.ext
当你执行'outputFile = -'时会发生什么? – perreal
'$ CMDPATH/filterProgram < fifoPipe > thefile.ext'? – twalberg
你正在使用什么'cmd'和'filterProgram'?应该'cmd'产生文本,还是预计二进制输出? “更好”是什么意思?真的是什么问题? twalberg的评论是你想要的解决方案吗?只有当多个文件被确认时才应该使用cat。你在寻找'tee'命令将其输入写入文件及其标准输出吗? – Palec