如何打印从另一个脚本生成的日志,该脚本是从我并行运行的脚本执行的。
基本上我正在运行一个运行另一个脚本来启动构建的脚本,我想直接看到编译日志,因为我可以在直接运行构建脚本时看到它。
我们也可以打印命令在shell脚本中运行的时间。就像我想知道我的构建到目前为止花了多少时间。
PS:我是脚本新手,如果之前在任何帖子中都有答案,请重定向我,因为我无法在SO中找到它:)
答案 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
的输出日志