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

新手上路,请多包涵

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

我想以红色打印文本。我怎样才能做到这一点?

原文由 satheesh.droid 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 435
1 个回答

您可以使用这些 ANSI 转义码

 Black        0;30     Dark Gray     1;30
Red          0;31     Light Red     1;31
Green        0;32     Light Green   1;32
Brown/Orange 0;33     Yellow        1;33
Blue         0;34     Light Blue    1;34
Purple       0;35     Light Purple  1;35
Cyan         0;36     Light Cyan    1;36
Light Gray   0;37     White         1;37

然后在你的脚本中像这样使用它们:

 #    .---------- constant part!
#    vvvv vvvv-- the code from above
RED='\033[0;31m'
NC='\033[0m' # No Color
printf "I ${RED}love${NC} Stack Overflow\n"

它以红色打印 love

根据@james-lim 的评论, 如果您使用 echo 命令,请务必使用 -e 标志来允许反斜杠转义

 #    .---------- constant part!
#    vvvv vvvv-- the code from above
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "I ${RED}love${NC} Stack Overflow"

(不要添加 "\n" 当使用 echo 除非你想添加一个额外的空行)

原文由 Tobias 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题