预定义终端的颜色?

预定义终端的颜色?

我试图记住如何预定义.bashrc文件内部的颜色,以便在执行操作时可以调用它们${RED}

我不记得这是否是正确的做法,但如果我能记得的话,它是这样的;

NC="\033[0;0;0m"      # no color or formatting
RED="\033[1;49;91m"   # color red
BLU="\033[1;49;94m"   # color blue
GRN="\033[1;49;32m"   # color green

我记得还有另一个,就是使用function它可以随时随地使用。我确实有一个文件告诉我如何做到这一点,但我丢失了这个文件,它显示了如何做到这一点,我记不清它是怎么进行的了。

答案1

~/.bashrc您可以按如下方式定义一个函数

showred(){
    export RED='\033[1;49;91m'
    export NC='\033[0;0;0m'
    echo -e $RED"$@"$NC
}

~/.bashrc以源文件. ~/.bashrc或打开一个新终端并尝试。

在此处输入图片描述

您还可以在终端上书写时使用颜色进行书写,echo如下printf所示,

在此处输入图片描述

答案2

declare -r RED='\033[0;31m'
declare -r GREEN='\033[0;32m'
declare -r NC='\033[0m'

答案3

你可能已经看到了$'...'语法,它使 shell 解释反斜杠序列:

NC=$'\e[0m'       # no color or formatting
RED=$'\e[1;31m'   # color red
GRN=$'\e[1;32m'   # color green
BLU=$'\e[1;34m'   # color blue

另一种方法是使用输出

NC=$(tput sgr0)                  # no color or formatting
RED=$(tput bold; tput setaf 1)   # color red
GRN=$(tput bold; tput setaf 2)   # color green
BLU=$(tput bold; tput setaf 4)   # color blue

您可以将它们与 souravc 的答案中的包装函数结合起来;您不需要-e

相关内容