unix-tee和退出状态

前端之家收集整理的这篇文章主要介绍了unix-tee和退出状态前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有替代“tee”捕获正在执行的命令的STDOUT / STDERR,并退出与处理的命令相同的退出状态.如下所示:
eet -a some.log -- mycommand --foo --bar

其中“eet”是“tee”的想象替代:)( – 表示附加,– 分离捕获的命令)应该不难劫持这样的命令,但也许它已经存在,我不知道它?

谢谢.

这是一个eet.每个Bash都可以让我的手从2.05b到4.0.
#!/bin/bash
tee_args=()
while [[ $# > 0 && $1 != -- ]]; do
    tee_args=("${tee_args[@]}" "$1")
    shift
done
shift
# now ${tee_args[*]} has the arguments before --,# and $* has the arguments after --

# redirect standard out through a pipe to tee
exec | tee "${tee_args[@]}"

# do the *real* exec of the desired program
exec "$@"

(pipefail和$PIPESTATUS是好的,但我记得他们被介绍在3.1或附近.)

猜你在找的Bash相关文章