我有一个脚本,我想做相同的事情:
myscript | anotherprogram
但是来自脚本。我不想调用
mysubtask | anotherprogram
每次我必须在我的脚本中运行我的子任务,我只想启动过滤器以及我的所有OUT& ERR路由到它(脚本不是交互式的)。
所以最后我想做的是
答案 0 :(得分:4)
我可以通过两种简单的方式来实现这一目标。首先,您可以使用带括号的子shell:
(
echo hello
echo world
) 2>&1 | anotherprogram
或者您可以使用exec
重定向脚本顶部的各种文件描述符
exec > >( anotherprogram ) # send stdout to anotherprogram
exec 2>&1 # merge stderr into stdout
echo hello
echo world