我正在使用单个&号在bash脚本中运行多个命令,如下所示:
commandA & commandB & commandC
它们每个都有自己的stdout
输出,但是它们都混合在一起,使控制台混乱不堪。
我想知道是否有一种简单的方法可以使用column
命令或类似方法将其输出管道到自己的列中。即。就像是:
commandA | column -1 & commandB | column -2 & commandC | column -3
这种事情是新手,但从最初的挖掘看来,似乎像pr的东西可能是门票?还是column
命令...?
遗憾地回答了我自己的问题。
提供的解决方案都不是我要找的。因此,我开发了自己的命令行实用程序:multiview。也许其他人会受益?
它通过将进程的stdout / stderr传递到命令界面,然后启动“查看器”以在列中查看其输出来工作:
fooProcess | multiview -s & \
barProcess | multiview -s & \
bazProcess | multiview -s & \
multiview
这将显示其输出的整齐的列视图。您还可以通过在-s
标志后添加一个字符串来命名每个进程:
fooProcess | multiview -s "foo" & \
barProcess | multiview -s "bar" & \
bazProcess | multiview -s "baz" & \
multiview
还有其他一些选择,但这就是要点。
希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句