0

我使用 travis-ci 从头开始​​构建 linux 7.8 版。在构建过程中,travis-ci 抛出错误,因为日志文件大于 4 兆字节。你可以在lfs-auto, build #15看到

现在,我想将所有数据从 stdout 重定向到 /dev/null以减小日志文件的大小。通常,人们将每个命令的重定向操作用作dev/null。但是那样会使shell脚本变得太长且难以阅读

有没有人有想法解决这些问题?


问题解决了!。感谢每个人都有评论

我选择了解决方案exec > /dev/null因为该命令将所有输出从 std 重定向到 /dev/null 而没有其他操作。在这种情况下,exec > /dev/null比script-file > /dev/null{ command, ... } > /dev /null更简单,更易于编辑


解决问题重复

有一些评论,这个问题的内容与如何在脚本本身中重定向整个 shell 脚本的输出?以及如何将多个命令的输出重定向到一个文件

我认识到我的问题与如何在脚本本身内重定向整个 shell 脚本的输出相同?,但我的问题更清楚,更短

我需要更多评论来解决两种情况下的重复问题

  • 将此问题与其他问题合并并删除此问题
  • 删除这个问题,什么都不做
  • 没做什么
4

1 回答 1

0

使用 Bash命令分组

虽然实现目标的方法不止一种,但我建议您编辑构建脚本以对命令进行分组。将一组命令包裹在大括号中可以让您将列表中的所有命令重定向到同一个位置。例如:

{
    echo foo
    echo bar
    echo baz
} > /dev/null

虽然在技术上并不相同,但从实用的角度来看,这将提供与将每个命令分别重定向到/dev/null类似的结果。

于 2016-04-10T14:58:27.230 回答