Answers
如果你不需要输出标准错误的内容到终端的话:
./example.sh 2> ./error.out | tee ./stdout.out
将标准错误重定向到
error.out
中,标准输出正常显示
如果还需要输出标准错误的内容:
./example.sh > >(tee ./stdout.out) 2> >(tee ./error.out)
解释:
>
和
2>
就是重定向,前者重定向标准输出,后者重定向标准错误(2是标准错误的文件描述符)
>(...)
是创建一个带FIFO(一种进程间通信的方式)的子进程,让这个子进程接收前面的命令的输出。