格式化终端输出以红色显示 apt-get 升级错误

格式化终端输出以红色显示 apt-get 升级错误

我有一个为我的 Kali Linux 发行版编写的非常简单的 bash 脚本,这样我就不必每次打开笔记本电脑时都运行 apt-get update、apt-get upgrade、apt-get dist-upgrade、apt-get autoclean 和 apt-get autoremove。在阅读了几天的语法后,我仍然无法正确理解。我试图在脚本中添加一些内容来格式化终端输出,使其以红色显示“错误”。任何帮助都将不胜感激,请在我的脚本中添加一些内容,使 apt-get upgrade 输出的错误以红色显示。提前谢谢您。

仅供参考这是我的两行脚本...

apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get autoclean -y && apt-get autoremove -y

答案1

您可以使用转义字符将任意颜色添加到一行。

例如:

your command 2>&1 | sed 's/^.*error.*$/^[[31m&^[[0m/g'

2>&1stderr 到 stdout。

^[ctrl是转义符。你可以用++来写。v如果[你复制粘贴命令,它将不起作用。

其他解决方案:

your command 2>&1 | sed 's/^.*error.*$/"\\e[31m&\\e[0m"/g' | xargs -L1 echo -e

您可以用其他颜色代码替换 [31m。

相关内容