如何在 Linux PlatoBlockchain 数据智能中更改 Echo 的输出颜色。 垂直搜索。 人工智能。

如何在 Linux 中更改 Echo 的输出颜色

介绍

echo 命令将给定的字符串输出到 标准输出管,通常指向终端。 虽然标准输出管道可以指向其他接口—— echo 命令通常用于在终端中打印和显示消息。 默认情况下,显示的消息文本继承终端中其他文本的颜色(可自行自定义)。 但是 - 有几种方法可以改变输出颜色 echo – 对于单个字符串和整个消息。

在这个简短的指南中,我们将看看如何更改输出颜色 echo 在基于 Linux 的系统中,使用 ANSI 转义码, tput 以及如何使这个过程在 Bash 脚本中不那么冗长。

使用 ANSI 转义码更改输出颜色

更改颜色的最简单方法是通过 ANSI 转义序列/代码。 所有 ANSI 转义码都以 Escape 字符,可以用各种格式表示—— 27 十进制, x1B 十六进制,作为控制键 ^[33 八进制格式。 序列之后是命令:

33[command

其中左括号 (控制序列介绍器) 是可选的,但有助于将命令与转义字符分开。 当你放一个 色标 作为命令,它会改变即将到来的文本的颜色:

33[0;34

0;34 例如,是蓝色的代码。 仅此一项,您就可以更改文本的颜色 echo 使用:

33[0;34Text

其中 Text 将被染成蓝色。 或者,考虑一个简单的 bash 脚本来打印 “欢迎来到法国” 法国国旗的颜色:

#!/bin/bash  
BLUE='33[0;34m'
WHITE= '33[0;37m' 
RED= '33[0;31m'   
echo -e "${Blue}Welcome ${WHITE}to ${RED}France"

可选的 -e 的标志 echo 命令允许您使用特殊字符,例如 n (换行)和 t (选项卡)在输入字符串内。

运行脚本后:

$ ./colors.sh

结果是:

如何在 Linux PlatoBlockchain 数据智能中更改 Echo 的输出颜色。 垂直搜索。 人工智能。

ANSI 代码不仅限于颜色,还可以应用于样式。 代码 0..9 表示文本样式,而代码 30...37 代表颜色:

颜色 代码 文字样式 代码
黑色 30 简单文字 0
红色 31 大胆的文字 1
绿色 32 低强度文本 2
棕色/橙色 33 下划线文字 4
蓝色 34 闪烁的文字 5
紫色 35 隐形文字 8
青色 36 删除线文本 9
浅灰色 37

让我们创建一个 bash 脚本来探索其中一些选项:

#!/bin/bash
echo -e "33[0;33mSample text"
echo -e "33[1;33mBold text"
echo -e "33[2;33mLow intensity text"
echo -e "33[4;33mUnderline text"
echo -e "33[5;33mBlinking text"
echo -e "33[8;33mInvisible text"
echo -e "33[9;33mStrikethrough text"

运行此脚本会导致:

如何在 Linux PlatoBlockchain 数据智能中更改 Echo 的输出颜色。 垂直搜索。 人工智能。

查看我们的 Git 学习实践指南,其中包含最佳实践、行业认可的标准以及随附的备忘单。 停止谷歌搜索 Git 命令,实际上 学习 它!

同样,您可以使用代码更改这些文本的背景颜色 40..47:

颜色 代码
黑色 40
红色 41
绿色 42
棕色/橙色 43
蓝色 44
紫色 45
青色 46
浅灰色 47

更改给定字符串的背景归结为与更改字体颜色时相同的规则——代码本身会更改行为:

#!/bin/bash
BLUE='33[0;44m'
BLACK='33[0;30m'
WHITE='33[0;30;47m'
RED='33[0;41m'
echo -e "${BLUE}Welcome ${WHITE}to ${RED}France"

请注意: 根据经验,您可以通过添加 10 将字体颜色转换为背景颜色。 30 是黑色字体颜色, 40 是黑色背景颜色。

使用 tput 更改输出颜色

ANSI 代码的替代方法是使用 tput 命令:

$ tput setaf color_code

setf 允许 8 种颜色,而 setaf 允许 256 种颜色,因此根据您使用的命令,您可以在 0..70..255 作为颜色代码。 以上皆是 命令专用 0..7 到相同的颜色代码,而与 setaf, 8..15 是高强度的颜色,并且 16..231 是前 8 个不同的色调,并且 232..255 是灰度颜色:

如何在 Linux PlatoBlockchain 数据智能中更改 Echo 的输出颜色。 垂直搜索。 人工智能。
信用: 维基百科上的数据

最后, tput 还允许您使用其他命令更改背景颜色、添加粗体、降低强度等:

文字样式 命令
前景色 塞塔夫
背景颜色 设置
没有风格 sgv0
大胆的文字 无所畏惧
低强度文本 暗淡
下划线文字 斯穆尔
闪烁的文字
反转文本

让我们创建另一个使用 tput 更改输出颜色 echo:

#!/bin/bash
YELLOW=`tput setaf 3`
echo "${YELLOW}Changing"
WHITE=`tput setaf 7 bold`
echo "${WHITE}Colors"
BLUE=`tput setaf 4 smul`
echo "${BLUE}With tput"
CYAN=`tput setaf 6 blink`
echo "${CYAN}is less"
RED=`tput setab 1 setaf 7`
echo "${RED}verbose!"

此脚本将在终端中打印以下输出:

如何在 Linux PlatoBlockchain 数据智能中更改 Echo 的输出颜色。 垂直搜索。 人工智能。

tput 命令提供了一种通过简单颜色代码打印任何颜色的简单方法。 现在让我们创建一个脚本,该脚本可以打印 tput 命令可用的每种颜色代码:

#!/bin/bash
tput init 
 end = $ (($ (tput colors) - 1)) 
 w = 1 
 for c
  in $ (seq 0 $end) 
  do
eval "$(printf " tput setaf % 3 s " " $c ")" 
      echo - n "$_" 
      [[$c - ge $ ((w * 2))]] 
      offset = 2 || offset = 0 
      [[$ (((c + offset) % (w - offset))) - eq $ (((w - offset) - 1))]] 
      echo 
 done 
 tput init

它将打印 0 到 255 颜色及其代码:

如何在 Linux PlatoBlockchain 数据智能中更改 Echo 的输出颜色。 垂直搜索。 人工智能。

结论

在这个简短的指南中——我们已经了解了如何更改 echo在 Linux 中的输出——使用 ANSI 转义序列和 tput 命令。

我们还探讨了如何使用 Bash 变量、调整背景颜色和样式文本来减少流程的冗长。

时间戳记:

更多来自 堆栈滥用