我正在寻找一种在交互式bash中重定向所有stderr流的方法(理想情况下,重定向到它的调用父进程)。
我不想从每个单独的命令重定向stderr流,这可以通过将2> a_file
附加到每个命令来实现。
默认情况下,这些stderr流重定向到交互式bash的stdout。我希望将它们放在这个交互式bash进程的stderr上,以防止我的stdout被错误消息污染,并能够单独处理它们。
有什么想法吗?
我还没有找到答案...但也许它实际上是一个tty参数。有人知道一些关于tty/交互式shell处理stderr的责任吗?
发布于 2008-08-27 13:28:18
在bash中使用exec
内置:
exec 2> /tmp/myfile
发布于 2008-08-27 13:27:48
您可以启动一个新的bash进程,重定向该进程的stderr:
$ bash -i 2> stderr.log
$
发布于 2008-09-16 18:00:37
在双队列中尝试您的命令,如下所示:
ssh remotehost "command" 2>~/stderr
在我的本地系统上使用远程主机上不存在的文件进行测试。
$ ssh remotehost "tail x;head x" 2>~/stderr
$ cat stderr
tail: cannot open `x' for reading: No such file or directory
head: cannot open `x' for reading: No such file or directory
https://stackoverflow.com/questions/30066
复制相似问题