linux - 如何执行完全安静的 'make' ,仅输出日志文件?

标签 linux bash shell makefile sh

我在 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

我怎样才能让 make 将所有内容记录到“clbuild.log”文件中,并且根本不显示任何输出、警告或错误?

我希望简单地依靠退出代码来指示成功或失败。 (仅在构建失败时中止并显示日志)

最佳答案

程序总是输出到两个流,stdout 和 stderr,ID 分别为 1 和 2。您必须告诉 shell 将 stderr 转储到 stdout,使用 > ... 2>&1,或者更简洁地使用 &>

无论如何,我认为试图扰乱构建过程是浪费时间

关于linux - 如何执行完全安静的 'make' ,仅输出日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54496470/

相关文章:

php - 普通 LAMP 网络服务器上 PHP 文件的正确 FTP 权限是多少?

linux x11 窗口管理器 - 阻止鼠标事件

bash - shell脚本测试

linux - GIT push 命令什么都不做 - 命令在 1 秒内完成

bash - 将 bash 中的命令输出解析为变量

linux - 使用 Bash 发送多个 SSH 命令

bash - 在 for 循环中将变量传递给 sed

linux - bash 脚本中的错误替换错误

bash - Awk 和排序输出以逗号分隔?

linux - 在 Windows 上的 Ubuntu 上的 Bash 上设置 $PATH 的问题(Linux 子系统)