linux - 如何做一个完全安静的“make”,只输出一个日志文件?
问题描述
我在 Docker 构建阶段有以下步骤:
make shared > clbuild.log
export CRYPTLIB_BUILD_EXIT_CODE=$?
if [ ${CRYPTLIB_BUILD_EXIT_CODE} -ge 0 ]; then exit 1 ;fi
警告仍将通过以下方式输出:
make shared > clbuild.log
我如何才能将所有内容记录到“clbuild.log”文件中,并且根本不显示任何输出、警告或错误?
我希望更简单地依靠退出代码来指示成功或失败。(并且仅在构建失败时中止并显示日志)
解决方案
程序总是输出到两个流,stdout 和 stderr,ID 分别为 1 和 2。您必须告诉您 shell 将 stderr 转储到 stdout 中,使用> ... 2>&1
或不那么冗长,&>
。
无论如何,我认为试图弄乱构建过程是浪费时间
推荐阅读
- swift - 如何使用 Set.intersection 获取两个序列的元素列表
- node.js - 排序对象引用元素字段不适用于Mongodb中的$group和$project
- javascript - 如何在按钮单击时向表格列添加标题
- json - Circe:将案例类主体字段序列化为 JSON
- android - ios 版本的应用程序可以工作,但由于没有为 React Native App 的 AccessToken 找到合适的构造函数,Android 失败
- python - ValueError : 太多值无法解包
- node.js - 如何打印节点js中的目录中不存在文件
- angular - Angular 服务注入器
- c# - 用数组读取 JSON 文件
- c# - IO 异常:该进程正被另一个进程 zip 文件使用