Answers:
将输出存储在变量中(如果它不是太大,请参阅 shell可变容量 ):
output=$(some-script)
status=$? check-pipe <<<"$output" # warning: <<< is not POSIX
unset output
或者使用(临时)文件:
some-script >file
status=$? check-pipe <file
rm file
在这两种情况下 check-pipe
得到的输出 some-script
通过stdin加上退出状态为 status
环境变量。这两个命令不是并行运行的。