当前位置:   article > 正文

如何改变echo在Linux下的输出颜色

如何改变echo在Linux下的输出颜色

问题

我正在尝试使用 echo 命令在终端中打印文本。

我想把文本打印成红色。我该怎么做?


回答

你可以使用 ANSI escape codes 定义控制输出颜色的变量。

ANSI escape codes是一种用于在文本中设置颜色、字体、大小和对齐方式的控制字符序列。它们可以被视为计算机终端中的“控制键”,以在屏幕上呈现不同的颜色和样式。

下面是几种不同打印输出需求的代码样例及演示效果。

常规输出

对于常规的输出:

# Reset
Color_Off='\033[0m'       # Text Reset

# Regular Colors
Black='\033[0;30m'        # Black
Red='\033[0;31m'          # Red
Green='\033[0;32m'        # Green
Yellow='\033[0;33m'       # Yellow
Blue='\033[0;34m'         # Blue
Magenta='\033[0;35m'      # Magenta
Cyan='\033[0;36m'         # Cyan
White='\033[0;37m'        # White

echo -e "${Red}I like Linux${Color_Off} normal."
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

字体加粗

对于字体加粗的输出:

Color_Off='\033[0m'       # Text Reset
# Bold
BBlack='\033[1;30m'       # Black
BRed='\033[1;31m'         # Red
BGreen='\033[1;32m'       # Green
BYellow='\033[1;33m'      # Yellow
BBlue='\033[1;34m'        # Blue
BMagenta='\033[1;35m'     # Magenta
BCyan='\033[1;36m'        # Cyan
BWhite='\033[1;37m'       # White

echo -e "${BGreen}I like Linux${Color_Off} bold."
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

斜体字

对于字体斜体的输出:

Color_Off='\033[0m'       # Text Reset
# Italic
IBlack='\033[3;30m'       # Black
IRed='\033[3;31m'         # Red
IGreen='\033[3;32m'       # Green
IYellow='\033[3;33m'      # Yellow
IBlue='\033[3;34m'        # Blue
IMagenta='\033[3;35m'     # Magenta
ICyan='\033[3;36m'        # Cyan
IWhite='\033[3;37m'       # White

echo -e "${IYellow}I like Linux${Color_Off} italic."
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

带下划线

对于带下划线的输出:

Color_Off='\033[0m'       # Text Reset
# Underline
UBlack='\033[4;30m'       # Black
URed='\033[4;31m'         # Red
UGreen='\033[4;32m'       # Green
UYellow='\033[4;33m'      # Yellow
UBlue='\033[4;34m'        # Blue
UMagenta='\033[4;35m'     # Magenta
UCyan='\033[4;36m'        # Cyan
UWhite='\033[4;37m'       # White

echo -e "${UBlue}I like Linux${Color_Off} underline."
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

闪烁效果

对于闪烁效果的输出:

Color_Off='\033[0m'       # Text Reset
# Slow blink
SbBlack='\033[5;30m'       # Black
SbRed='\033[5;31m'         # Red
SbGreen='\033[5;32m'       # Green
SbYellow='\033[5;33m'      # Yellow
SbBlue='\033[5;34m'        # Blue
SbMagenta='\033[5;35m'     # Magenta
SbCyan='\033[5;36m'        # Cyan
SbWhite='\033[5;37m'       # White

echo -e "${SbMagenta}I like Linux${Color_Off} slow blink."
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

参考

  • stackoverflow question 5947742
  • https://en.wikipedia.org/wiki/ANSI_escape_code

相关阅读:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/637807
推荐阅读
相关标签
  

闽ICP备14008679号