Je dois différencier la commande de la sortie en utilisant la couleur
comme ça
$ 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)
afin que je puisse facilement différencier la commande de sa sortie en cas de commandes avec une grande sortie
Et je dois le faire fonctionner pour chaque commande tapée sur un terminal si possible, même une commande introuvable peut être imprimée en différentes couleurs
Ajoutez ceci à votre ~/.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
Les variables de code de couleur ne sont pas nécessaires, mais elles simplifient les choses. Changez le LIGHT_RED
en une autre couleur pour répondre à vos besoins. Effet:
Vous devez rechercher le .bashrc
pour que les modifications prennent effet:
. .bashrc
Le LIGHT_RED
n'est pas vraiment rouge clair à cause du profil de couleur que j'ai défini pour le terminal.
Sources:
tu pourrais essayer ça
grep --color=always . file-name
Le point est essentiel dans ce cas, il s’agit de l’expression régulière permettant de faire correspondre tout caractère.
Vous pouvez utiliser la séquence d'échappement ANSI pour différencier la commande de sa sortie, comme suit:
echo -e "\e[31m"; echo "ls -al"; echo -e "\e[0m"; echo -e "\e[32m"; ls -al --color=never ; echo -e "\e[0m";
Source: http://misc.flogisoft.com/bash/tip_colors_and_formatting