我正在尝试同时完成所有这两项功能,
xcodebuild || exit
和
xcodebuild | tee xcodebuild.log | xcpretty
在脚本文件中,
build.sh
现在我这样做,但最后一个命令'exit'不起作用。
xcodebuild | tee xcodebuild.log | xcpretty || exit
我希望命令'xcodebuild'不仅可以将日志打印到文件中,而且还可以在错误时“退出”我的脚本文件。
如果有人能给我一个正确方向的提示,我应该怎么做才真的很感激。
已更新 它适用于我:
xcodebuild | tee xcodebuild.log | xcpretty
if [ "${PIPESTATUS[0]}" != "0" ]; then
exit 1
fi
答案 0 :(得分:0)
如果我正确理解你的要求,你可以发送一个到后台,让它在子shell中运行,并保持另一个在前台(根据我们的需要,你也可以将这个发送到后台):< / p>
{ xcodebuild || exit ;} & xcodebuild | tee xcodebuild.log | xcpretty
或者你可以使用像GNU parallel
这样的真正的多处理工具。
答案 1 :(得分:0)
| - 是管道,因此LHS上的输出变为RHS的输入(LHS =符号的左侧)
- 无论上一个命令的退出状态如何,下一个命令都将运行
&安培;&安培; - 表示如果LHS的退出状态为0,则RHS命令将仅执行,这意味着成功
|| - 与
正上方相反以上是所有串行命令。
使用mpi或至少线程
完成Paralell运行exit没有退出,因为xcpretty返回SUCCESS,即使你想将条件挂起到xcodebuild