如果从另一个shell脚本运行构建脚本,如何并行打印构建日志

时间:2014-06-11 11:17:08

标签: bash shell unix scripting build-automation

如何打印从另一个脚本生成的日志,该脚本是从我并行运行的脚本执行的。

基本上我正在运行一个运行另一个脚本来启动构建的脚本,我想直接看到编译日志,因为我可以在直接运行构建脚本时看到它。

我们也可以打印命令在shell脚本中运行的时间。就像我想知道我的构建到目前为止花了多少时间。

PS:我是脚本新手,如果之前在任何帖子中都有答案,请重定向我,因为我无法在SO中找到它:)

1 个答案:

答案 0 :(得分:0)

您可以通过拖尾日志在当前屏幕上显示您的构建脚本。

test2.sh(构建脚本)

#!/bin/bash
#test2.sh

# Save start time of script
startTime=$SECONDS

# Save outputs to log
echo "line 1" > /tmp/log
sleep 2
echo "line 2" >> /tmp/log
sleep 2
echo "line 3" >> /tmp/log
sleep 2
echo "line 4" >> /tmp/log

# Calculate total elapsed time in seconds
echo "Elapsed seconds: $(($SECONDS - $startTime))" >> /tmp/log
exit 0

test.sh(运行时脚本)

#!/bin/bash
#test2.sh

echo "Starting test2.sh"
sh test.sh &
scriptPid=$!

# tail the build script logs. Exit on $scriptPid
tail -n0 -F --pid=$scriptPid /tmp/log 2>/dev/null

wait $scriptPid
exit 0;

现在只需运行test.sh即可显示test2.sh

的输出日志