0
我提供了一个脚本来处理两件事,捕获标准的out/err和返回值。我使用的进程替换:捕获来源日志脚本中的返回值
logger.sh
exec > >(
cat
echo $?
) 2>&1
test.sh
. ./logger.sh
ls abc
因为我没有一个名为ABC的文件,我想看看这回显值1
(来自echo $?
)作为返回码。我正在阅读,这将不会适用于流程替换。这可以转换为命名管道吗?这会工作吗?
运行如下:
bash ./test.sh
尼斯,这确实工作。 ..我可以把它放在'logger.sh'中。如果脚本test.sh中有一个陷阱呢?我不想破坏它... – jcalfee314 2013-02-28 19:50:38
为了澄清,我使用了'陷阱'....'EXIT'来捕获错误和成功。另外,在exec块关闭后陷阱进入'logger.sh'。 – jcalfee314 2013-02-28 19:55:48
看到我编辑的帖子 – wam 2013-02-28 19:59:20