在bash中,是否可以通过STDOUT统一将STDERR通过过滤器传递?那就是我想要
STDOUT ────────────────┐
├─────> terminal/file/whatever
STDERR ── [ filter ] ──┘
而不是
STDOUT ────┐
├────[ filter ]───> terminal/file/whatever
STDERR ────┘
这是一个示例,以如何在bash中交换文件描述符为模型。以下是a.out的输出,不带'STDXXX:'前缀。
STDERR: stderr output
STDOUT: more regular
./a.out 3>&1 1>&2 2>&3 3>&- | sed 's/e/E/g'
more regular
stdErr output
从以上链接引用:
- 首先将标准输出另存为&3(&1分为3)
- 接下来将stdout发送到stderr(&2被复制为1)
- 将stderr发送到&3(stdout)(&3被分成2个)
- 关闭&3(&-分为3)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句