我想将两个并发程序(日志文件中的尾部)的输出捕获到bash中的一个输出流中.
我用这个示例程序进行测试:
function foo { for i in $(seq 1 10); do echo "program $*"; sleep 1; done }
Run Code Online (Sandbox Code Playgroud)
现在以下工作正常
(foo bar & foo baz &) | tee /tmp/output
Run Code Online (Sandbox Code Playgroud)
但是一旦我在混合中添加额外的管道,它就不再起作用了:
(foo bar | grep bar & foo baz &) | tee /tmp/output # does't work
Run Code Online (Sandbox Code Playgroud)
输出变为顺序.我可以制作一个包含grep的单独程序,但我想知道是否有解决方法.
如果有人可以解释为什么它不起作用我会很高兴.
在Emacs中,我想在不同的缓冲区中改变环境变量的值.
我的emacs环境依赖于环境变量(flymake,编译等),但是我希望能够在一个emacs会话中同时打开多个项目,但这些项目可能存在冲突的环境.
例如,类似于flymake的不同INCLUDE_PATH环境变量.