Зібрався трохи оптимізувати і розфарбувати запрошення командного рядку в терміналі нововстановленого Linux Mint 20 і зрозумів що рядок
export PS1='${debian_chroot:+($debian_chroot)}\[\033[00;32m\]\D{ %m/%d/%Y }\A \[\033[01;31m\]\u\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '
за роки перетворився в набір малозрозумілої абракадабри. А тому вимагає певного відновлення знань, та і взагалі приведення до більш зручноподаного виду. Отже кольори та параметри в bash у застосуванні до наступної задачі - замінити стандартне запрошення виду
user@host:folder$
на власне, додавши час перед іменем користувача та використавши для тексту 3 секцій(час, користувач/ім’я комп’ютера, директорія) 3 різних кольори і подати це у вигляді який з часом не перетвориться на абракадабру.
Базові змінні:
Є 2 підходи - стандартний і використовуючи команду tput
Для зручності зразу переводимо це у формат зрозумілих змінних:
В результаті в .bashrc додаємо секцію:
RED="\e[1;31m";
GREEN="\e[1;32m";
YELLOW="\e[1;33m";
BLUE="\e[1;34m";
PURPLE="\e[1;35m";
CYAN="\e[1;36m";
WHYTE="\e[1;37m";
END="\e\[m"
export PS1="$BLUE[\D{ %m/%d/%Y } \A]$END $RED\u@\h$END $YELLOW\W$END $WHYTE>>$END"
Коди кольорів:
В результаті в .bashrc додаємо наприклад таку секцію:
export PS1="\[$(tput bold)$(tput setab 7)$(tput setaf 5)\][\D{ %m/%d/%Y } \A] \[$(tput setaf 1)\]\u@\h:\[$(tput setaf 4)\]\w $ \[$(tput sgr0)\] "
Звертаємо увагу на необхідність екранування символів [].