如何使用颜色区分命令和输出

use*_*685 8 command-line bash scripts

我必须使用颜色区分命令和输出

像这样

$ cat file-name (this should be in some color say like red)
some test in file OUTPUT (this output should be in some other color say like green) 
Run Code Online (Sandbox Code Playgroud)

这样我就可以在输出较大的命令的情况下轻松区分命令与其输出

如果可能的话,我必须让它适用于在终端上输入的每个命令,即使找不到命令也可以用不同的颜色打印出来

mur*_*uru 8

将此添加到您的~/.bashrc

        RED="\[\033[0;31m\]"
     YELLOW="\[\033[1;33m\]"
      GREEN="\[\033[0;32m\]"
       BLUE="\[\033[1;34m\]"
  LIGHT_RED="\[\033[1;31m\]"
LIGHT_GREEN="\[\033[1;32m\]"
       CYAN="\[\033[0;36m\]"
 LIGHT_CYAN="\[\033[1;36m\]"
      WHITE="\[\033[1;37m\]"
 LIGHT_GRAY="\[\033[0;37m\]"
 COLOR_NONE="\[\e[0m\]"

PS1="$PS1${LIGHT_RED}"
trap '[[ -t 1 ]] && tput sgr0' DEBUG
Run Code Online (Sandbox Code Playgroud)

颜色代码变量不是必需的,但它们可以简化事情。将其更改LIGHT_RED为其他颜色以满足您的需要。影响:

红色的 蓝色

您必须找到使.bashrc更改生效的源:

. .bashrc
Run Code Online (Sandbox Code Playgroud)

LIGHT_RED是,因为我已经为终端的色彩配置文件没有真正浅红色我。

资料来源:

  1. 如何在命令结束时停止 bash shell PS1 颜色?
  2. 带有 virtualenv 和 git branch 的 Bash 命令提示符(用于颜色)