我正在尝试向stdout
流添加标头。我能想到的最好的是使用临时文件和cat
的连字符选项。如何将其转换为单线管道?感谢。
python myscript.py myparm > tmp
echo 'a,b,c' | cat - tmp > output
答案 0 :(得分:7)
{ echo 'a,b,c'; python myscript.py myparm; } > output
不需要临时文件或不必要的cat
。
答案 1 :(得分:5)
您可以使用process substitution:
echo 'a,b,c' | cat - <(python myscript.py myparm) > output
或:
cat <(echo 'a,b,c') <(python myscript.py myparm) > output
答案 2 :(得分:0)
这是我用来通过cgi脚本中的gzip管道数据的方法。 while循环中的所有内容都会通过输出,除非您在循环中专门重定向它(这可能非常有用)。
RUNONCE=""
while ([ ! "$RUNONCE" ]) do
RUNONCE=true
echo stuff
exec stuff
cat stuff
#whatever you want
done >output