LMJ*_*LMJ 5 bash io-redirection tee
我想显示输出(STDOUT)并通过管道传输到下一个命令。我知道“tee”可以显示结果并写入文件,但要写入文件,我想通过管道传输到另一个命令。
例子 :
$ command1 --option1 --option2 | MAGICCOMMAND | jq -e '.returnCode'
Run Code Online (Sandbox Code Playgroud)
我会有“command1 --option1 --option2”和“jq -e ...”的输出
在bashshell 中,您可以使用tee如下的进程替换:
command1 --option1 --option2 | tee >( jq -e '.returnCode' )
Run Code Online (Sandbox Code Playgroud)
command1这会将to的输出写入tee,这会将其复制到标准输出以及 的标准输入jq。
你也可以这样做
command1 --option1 --option2 | tee /dev/stderr | jq -e '.returnCode'
Run Code Online (Sandbox Code Playgroud)
它将把 的输出放到标准错误流command1上,同时将其重复的输出通过管道传输到. 这取决于您想要实现的目标。jq