如何部分更改 bash 命令输出的颜色?
How to partially change colors of bash command output?
我想在我的脚本中部分着色任何给定 bash 命令的输出,只是为了让屏幕上显示的重要信息变得漂亮和容易。
echo
为结果着色相当容易,但我无法使用显示某些系统测量值的命令。
我们以hdparm
为例。
sudo hdparm -t /dev/sda1
结果如下:
/dev/sda1:
定时缓冲磁盘读取:3.00 秒内 1284 MB = 427.93 MB/sec
我希望“427.93 MB/sec”以不同的颜色显示,比方说黄色。
我该怎么做?
您可以将命令输出重定向到数组,然后以您想要的颜色回显数组项。例如:
readarray -d= arr < <(sudo hdparm -t /dev/sda1);echo -e "${arr[0]} \e[31m${arr[1]}}\e[0m"
我想在我的脚本中部分着色任何给定 bash 命令的输出,只是为了让屏幕上显示的重要信息变得漂亮和容易。
echo
为结果着色相当容易,但我无法使用显示某些系统测量值的命令。
我们以hdparm
为例。
sudo hdparm -t /dev/sda1
结果如下:
/dev/sda1:
定时缓冲磁盘读取:3.00 秒内 1284 MB = 427.93 MB/sec
我希望“427.93 MB/sec”以不同的颜色显示,比方说黄色。
我该怎么做?
您可以将命令输出重定向到数组,然后以您想要的颜色回显数组项。例如:
readarray -d= arr < <(sudo hdparm -t /dev/sda1);echo -e "${arr[0]} \e[31m${arr[1]}}\e[0m"