繁体   English   中英

如何使用tee运行命令并保存输出?

[英]How to run a command using tee and save the output?

我需要从一个命令中获取输出,将其发送到两个不同的命令中,并将其输出保存在变量中。

所以像这样:

command1 | tee >(command2 > var1) >(command3 > var2) >/dev/null

其中var1和var2是变量而不是文件。

如果有另一种方法可以在不使用tee的情况下将命令的输出定向为两个不同的命令,那么我也很乐意。 我知道我可以简单地将command1的输出存储到变量中,然后将其回显到command2和command3中,但是我不想这样做。

因此(请参见bash参考手册 ):

在子shell环境中调用命令替换,用括号分组的命令以及异步命令[...]

您不能将变量拉出子外壳:

对子外壳环境所做的更改不会影响外壳的执行环境。

您将必须使用变量来存储第一个输出,并将其传递给其他命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM