来自上一个命令的 STDOUT 和 STDERR 作为下一个命令的参数

STDOUT & STDERR from previous Command as Arguments for next Command

不知何故,我找不到足够的答案来解决我的问题,只有部分 hackarounds。

我正在调用单个 "chained" shell 命令(来自 Node 应用程序),该命令启动一个长 运行ning 更新过程,它是 stdout/-err应该作为参数移交给 shell 命令的第二部分(另一个登录数据库的 Node 应用程序)。

我想做这样的事情:

updateCommand 2>$err 1>$out ; logDBCommand --log arg err out

#!/bin/bash 中聊了一会儿之后,有人建议只使用 tpmsf(保存在 RAM 中的文件系统),这是第二个最优雅(但唯一可能)的方法。所以我可以使用 > 运算符,并在内存中的单独变量中包含 stdoutstderr

command1 >/dev/shm/c1stdout 2>/dev/shm/c1stderr 
A=$(cat /dev/shm/c1sdtout) 
B=$(cat /dev/shm/c1stderr) 
command2 $A $B

(或更短):

A=$(command1 2>/dev/shm/c1stderr ) 
B=$(cat /dev/shm/c1stderr) 
command2 $A $B