Основы
Bash настраивается редактированием 3х текстовых файлов, которых находятся в домашней папке пользователя:.bash_profile (.profile), .bashrc,.bash_logout.
При отсутствии этих файлов используются настройки по-умолчанию, хранящиеся в файлах
/etc/profile и /etc/bash.bashrc.
~/.bash_profile — читается при каждом входе в систему;
~/.bashrc — читается при каждом запуске дочернего шелла;
~/.bash_logout — читается при выходе из системы.
Таким образом, изменения внесенные в profile будут применены при следующем входе в систему, а в bashrc — при запуске нового терминала.
Частично изменить это можно с помощью команды source /config/file. В этом случае изменения будут применены немедленно.
Кастомизация приветствия
Внешний вид системного приветствия изменяется с помощью изменения значения переменной PS1. Редактировать мы будем ~/.bashrc.
По-умолчанию, системное приветствие выглядит примерно так: user@hostname:~$, что соответствует следующему значению переменной PS1:
Рассмотрим список допустимых параметров:
Параметр - Значение
\a - an ASCII bell character (07)
\d - дата в формате ''День_недели, Месяц, Число''.
\e - an ASCII escape character (033)
\h - имя хоста до первой точки.
\H - имя хоста
\j - количество задач, работающих в шелле в настоящее время
\l - название терминала
\n - переход на новую строку
\r - возврат каретки на начало строки
\s - название шелла (будет выведено, например, «bash»
\t - время в 24-часовом формате (ЧЧ: MM: СС)
\T - время в 12-часовом формате (ЧЧ: ММ: СС)
\@ - время в 12-часовом формате (AM/PM)
\u - имя активного пользователя
\v - номер версии bash
\V - номер версии bash, номер релиза, номер патча
\w - текущая директория (будет выведено в формате /path/to/work_dir_name)
\W - имя текущей директории (будет выведено в формате «dir_name\»)
\! - номер команды в истории
\# - системный номер команды
\$ - if the effective UID is 0, a #, otherwise a $
\\ - обратный слэш
\[ - начало последовательности непечатаемых символов (см. примеры в разделе «Цвета и стилизация».
\] - конец последовательности символов
$ ( ) - внешняя комманда
Кроме стандартных параметров, при настройке приветствия можно использовать внешние скрипты и команды.
Пример:
Изменим стандартное приветствие так, чтобы дополнительно выводилась дата в формате (ДД/ММ/ГГГГ).
Результат будет выглядеть следующим образом:
Цвета и стилизация
— Внешний вид и стиль надписей в шелле настраивается с помощью ASCII-свойств.
Рассмотрим следующие таблицы:
Название стиля - Код
Сбросить все свойства - 0
Повышенная яркость - 1
Пониженная яркость - 2
Подчеркнутый - 4
Нормальная яркость - 5
Инвертированный - 7
Скрытый - 8
Цвета - Название цвета Текст Фон
Черный - 30 40
Красный - 31 41
Зеленый - 32 42
Желтый - 33 43
Синий - 34 44
Маджента - 35 45
Циановый - 36 46
Белый - 37 47
Свойства текста задаются в формате [свойство_фона;цвет_фона;свойство_текста;цвет_текста].
В случае, если цвет фона менять не надо — первые два параметра можно опустить.
Пример:
Результатом будет
— вывод строки ''vrootmnelogi'' красным подчеркнутым текстом на черном фоне.
— вывод строки ''!!111'' стандартным для терминала шрифтом.
Структура примера:
\[\033[ m\] — устанавливает свойства последующего текста
0;40;4;31 — см. выше
\[\033[0m\] — сбрасывает свойства
Настройка цветного вывода ls
Делается это следующим образом:
1. Открываем ~/.bashrc и дописываем:
if [ «$TERM» != «dumb» ]; then
[ -e «$HOME/.dircolors» ] && DIR_COLORS=«$HOME/.dircolors»
[ -e «$DIR_COLORS» ] || DIR_COLORS=«»
eval «`dircolors -b $DIR_COLORS`»
alias ls='ls —color=auto'2. Импортируем и открываем для редактирования стандартную цветовую схему:
dircolors -p ~/.dircolors
nano ~/.dircolors Выгядит она примерно так:.tgz 01;31
.svgz 01;31
.arj 01;31
.taz 01;31
.lzh 01;31
.lzma 01;31
3. Меняем цвета и стили, сверяясь с таблицей из предыдущего раздела.
4. Сохраняем изменения, запускаем новый шелл.
Если добавить в файл .bashrc, что в домашнем каталоге, строчку:
PS1="\[\033[0;33;40m[\t]\033 \[\033[1;31;40m[\033[1;32;40m\u@\h:\033[1;33;40m\w\033[1;31;40m]\033[1;35;40m $\033[0;37;0m\] " export PS1
То привычный вид черно-белой консоли становится интересней :-)
PS1='\[\033[02;34m\]\D{%H.%M} \u@\h\[\033[00m\] \w\n\$ '
PS1 лучше всего задавать в $HOME/.bashrcДобавляем для обычного пользователя следующее:
COLOR1="\[\033[1;32;40m\]" #зеленый
COLOR2="\[\033[1;34;40m\]" #синий
COLOR3="\[\033[1;37;40m\]" #белый
PS1="$COLOR1\u@\h: $COLOR2\w \$ $COLOR3"COLOR1="\[\033[1;31;40m\]" #красный
COLOR2="\[\033[1;34;40m\]" #синий
COLOR3="\[\033[1;37;40m\]" #белый
PS1="$COLOR1\u@\h: $COLOR2\w \$ $COLOR3"
Цветные man страницы
Устанавливаем:
apt-get install most
в .bashrc добавим:
export PAGER=most
и после перезапуска (login/logout или в сразу в консоли сделайте export) проверяем:
$man dpkg
man most - для дополнительной инфы
Комментариев нет:
Отправить комментарий