Поскольку не нашёл однозначно ясного материала по подсветке терминала bash, то решил для себя аккумулировать понятный мне материал.
Когда речь идёт о подсветке bash, то речь всегда заходит о переменной PS1. Но во многих своих заметках гуру не упоминают ни то что как это работает, а даже где это прописывается. Все действия я осуществляю в ОС Debian.
У каждого пользователя есть файл .bashrc, который находится в его домашнем каталоге. Например, этот файл у пользователя root будет расположен по адресу /root/.bashrc. В этот файл и помещается заветная строчка, которая разукрасит командную строку. Например, если туда поместить вот такую строчку:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
то командная строка будет выглядеть вот так:
Чтобы изменения вступили в силу, надо выйти и заново войти под пользователем, для которого делаются изменения, либо просто в командной строке набрать source ~/.bashrc.
Жёлтая подсветка:
echo "PS1='${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u\[\033[01;33m\]@\[\033[01;33m\]\h \[\033[01;33m\]\w \[\033[01;33m\]\$ \[\033[00m\]'" >> /root/.bashrc source ~/.bashrcКрасная подсветка (для root пользователей):
echo "PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;31m\]@\[\033[01;31m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'" >> /root/.bashrc source ~/.bashrcЗелёная подсветка (для не root пользователей):
echo "PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[01;32m\]@\[\033[01;32m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'" >> /home/nonrootuser/.bashrc
Нераскрытый момент.
Есть в системе общий файл для всех профилей /etc/skel/.bashrc. В нём надо расскомментировать строку #force_color_prompt=yes. И по идее, как пишут, должна включиться подсветка bash. Но этого не происходит.
#Подсветка файлов в терминале
Чтобы в терминале при выводе содержимого каталога подсвечивались разные типы файлов и каталогов, надо в файл /root/.bashrc вставить следующее содержимое:
# enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' fi
Это пример и как один из вариантов.
UPD14.02.2023
Использовал для Ubuntu22
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Использованный материал
https://habrahabr.ru/post/269967/