Я должен дифференцировать команду от вывода с помощью цвета
как это
$ 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)
так, чтобы я мог легкий дифференцировать команду от ее вывода в случае команд с крупносерийным производством
И я должен сделать его, это работает на каждую команду, которая вводится на терминале, если это возможно, даже управляют не найденный, может быть распечатан в другом цвете
Добавьте это к Вашему ~/.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
Переменные цветового кода не необходимы, но они упрощают вещи. Изменитесь LIGHT_RED
к другим цветам для удовлетворения потребности. Эффект:
Необходимо будет получить .bashrc
для изменений для вступления в силу:
. .bashrc
LIGHT_RED
не действительно светло-красно для меня из-за цветового профиля, который я установил для терминала.
Источники:
Вы могли попробовать это
grep --color=always . file-name
, точка важна в этом случае, это - регулярное выражение для соответствия любому отдельному символу.
Можно использовать escape-последовательность ANSI для дифференциации команды от ее вывода, как это:
echo -e "\e[31m"; echo "ls -al"; echo -e "\e[0m"; echo -e "\e[32m"; ls -al --color=never ; echo -e "\e[0m";
Источник: http://misc.flogisoft.com/bash/tip_colors_and_formatting