bash - 来自 bash 脚本的 Jenkins 控制台上没有彩色输出
问题描述
我有一个 Jenkins 脚本化管道,它正在调用 salt 并运行 bash 脚本。该脚本有一些颜色代码,如下所述。我启用了 ANSI 颜色。但是,颜色没有得到解决。相反,它们按原样打印,但以蓝色作为 ANSI 颜色,我已将“默认前景”设置为蓝色。我也尝试过使用 Jenkins 默认颜色,但没有运气。
?[31;43m***** HOSTNAME INFORMATION *****?[0m
?[31;43m***** FILE SYSTEM DISK SPACE USAGE *****?[0m
?[31;43m***** TOP 5 MEMORY-CONSUMING PROCESSES *****?[0m
解决方案
你的转义序列是错误的。此外,-e标志在 MacO 上不起作用(如果您在 MacO 中工作)。
#!/bin/bash
content='\e[31;43m***** HOSTNAME INFORMATION *****\e[0m
\e[31;43m***** FILE SYSTEM DISK SPACE USAGE *****\e[0m
\e[31;43m***** TOP 5 MEMORY-CONSUMING PROCESSES *****\e[0m\n
'
echo -e "$content" ## Does not work on MacOs
printf "$content" ## But you can use printf and add a \n at the end of string.
推荐阅读
- windows - 如何修复错误信息“系统找不到指定的路径”?
- hash - 一个好的散列函数可以为相同的文本内容但不同的顺序生成相同的散列?
- c# - 是否可以设置 Visual Studio 2017,使其在远程 Linux 机器而不是本地机器上运行和调试 .NET Core C# 应用程序?
- c++ - 如何从 txt 文件中删除数据/内容
- python - 计算每个 pannda 数据框行中列表中字符串的出现次数
- sql - 带有 where 条件的 PL/SQL 更新查询作为带有一些空值的选择查询
- python - 使用 XGB 泊松回归预测计数数据
- angular - 了解顶层
和子模块 - django - 在发送 API 之前解码 JSON 数据
- ios - 如何在 Jenkins groovy 的 ssh 命令中 escpae 美元符号?