GRC

Продолжаем рассматривать тему подсветки синтаксиса в консоли
На этот раз рассмотрим утилиту Generic Colouriser
Ставим

sudo apt install grc

Проверяем где находится grc и его конфигурация
В моем случае:
OS: Debian GNU/Linux 9.8 (stretch) x86_64
Shell: bash 4.4.12

whereis grc
grc: /usr/bin/grc /etc/grc.conf /usr/share/grc /usr/share/man/man1/grc.1.gz

В файле конфигурации прописаны выражения для подсветки. Мы их трогать не станем.
Посмотреть их можно:

cat /etc/grc.conf

Наша задача получить список всего что можно, обернутое для добавления в bashrc
Посмотрев в документации и в сумме полазив по интернету не нашел полного списка утилит. Поэтому выдергиваем все возможное напрямую из файла
Делается это в одну строку

cat /etc/grc.conf | grep "conf\." | cut -d "." -f2 | awk '{print ("alias "$1"=\"grc --colour=auto "$1"\"")}'
alias irclog="grc --colour=auto irclog"
alias log="grc --colour=auto log"
alias configure="grc --colour=auto configure"
alias ping="grc --colour=auto ping"
alias traceroute="grc --colour=auto traceroute"
alias gcc="grc --colour=auto gcc"
alias gcc="grc --colour=auto gcc"
alias netstat="grc --colour=auto netstat"
alias diff="grc --colour=auto diff"
alias wdiff="grc --colour=auto wdiff"
alias log="grc --colour=auto log"
alias ldap="grc --colour=auto ldap"
alias cvs="grc --colour=auto cvs"
alias mount="grc --colour=auto mount"
alias mtr="grc --colour=auto mtr"
alias ps="grc --colour=auto ps"
alias dig="grc --colour=auto dig"
alias ifconfig="grc --colour=auto ifconfig"
alias ls="grc --colour=auto ls"
alias mount="grc --colour=auto mount"
alias df="grc --colour=auto df"

Теперь добавим что получилось в любое место нашего bashrc

nano .bashrc
# Подключаем grc
if [ -f /usr/bin/grc ]; then
alias irclog="grc --colour=auto irclog"
alias log="grc --colour=auto log"
alias configure="grc --colour=auto configure"
alias ping="grc --colour=auto ping"
alias traceroute="grc --colour=auto traceroute"
alias gcc="grc --colour=auto gcc"
alias gcc="grc --colour=auto gcc"
alias netstat="grc --colour=auto netstat"
alias diff="grc --colour=auto diff"
alias wdiff="grc --colour=auto wdiff"
alias log="grc --colour=auto log"
alias ldap="grc --colour=auto ldap"
alias cvs="grc --colour=auto cvs"
alias mount="grc --colour=auto mount"
alias mtr="grc --colour=auto mtr"
alias ps="grc --colour=auto ps"
alias dig="grc --colour=auto dig"
alias ifconfig="grc --colour=auto ifconfig"
alias ls="grc --colour=auto ls"
alias mount="grc --colour=auto mount"
alias df="grc --colour=auto df"
fi

Перезапускаем консоль и можно проверять
Лишнее можно удалить
Следует помнить если уже используется подсветка через alias то главное чтобы не было конфликтов
Так же может смутить ошибка.
Она значит что пакет не установлен
Как пример запуск log который не установлен в системе
В первом случае без он не прописан в bashrc

bash: log: команда не найдена

Во втором случае прописан bashrc

Traceback (most recent call last):
  File "/usr/bin/grc", line 161, in <module>
    os.execvp(args[0], args)
  File "/usr/lib/python2.7/os.py", line 346, in execvp
    _execvpe(file, args)
  File "/usr/lib/python2.7/os.py", line 382, in _execvpe
    func(fullname, *argrest)
OSError: [Errno 2] No such file or directory

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *