bash - 如何将 stderr 和 stdout 都通过管道传输到同一个文件,将 stderr 着色为红色而不是 stdout?
问题描述
- 我需要在单个日志文件中捕获 script.sh 的输出和错误,保留输出和错误的写入顺序
- 我需要将错误涂成红色,以便它们脱颖而出。
- 这需要在不修改 script.sh 内容的情况下完成。
如果 script.sh 执行以下操作:
echo "This is STDOUT line 1"
echo "This is STDERR line 2" >&2
echo "This is STDOUT line 3"
日志应该看起来像
This is STDOUT line 1
[RED]This is STDERR line 2
This is STDOUT line 3
我知道如何为文本着色,所以如果你愿意,你可以从你的答案中给出解释。
谢谢。
解决方案
推荐阅读
- django - 在不调用 save 的情况下将对象添加到数据库
- html - 可滚动的全高 div
- javascript - 多个 xmlhttprequestes 不向后端发送数据
- delphi - 为什么快捷方式在我的 Delphi 程序中不起作用?
- javascript - 如何为立方体 Three.js 制作浮动效果
- python - 想知道为什么我的错误消息会通过文件中读取的每个名称弹出?
- github - 将 Stack Exchange Markdown 转换为 Github Markdown
- css - 带有变换的 CSS 动画:翻译
- angular - 如何处理高度和中等明显的依赖问题?
- javascript - React Context Provider 尽可能靠近消费者