我有一个为我的 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。