августа 25 2008 08:46 пп

Украшаем bash

bash0110.png

Bash is the shell, or command language interpreter, for the gnu operating system. The name is an acronym for the ‘Bourne-Again SHell’, a pun on Stephen Bourne, the author of the direct ancestor of the current Unix shell sh, which appeared in the Seventh Edition Bell Labs Research version of Unix.

Основы
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:

PS1=’\u@\h:\w$’

Рассмотрим список допустимых параметров:

Параметр Значение
\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 $
\\ обратный слэш
\[ начало последовательности непечатаемых символов (см. примеры в разделе «Цвета и стилизация».
\] конец последовательности символов
$ ( ) внешняя комманда

Кроме стандартных параметров, при настройке приветствия можно использовать внешние скрипты и команды.

Пример:
Изменим стандартное приветствие так, чтобы дополнительно выводилась дата в формате (ДД/ММ/ГГГГ).

PS1=’[\u@\h] $(date +%m/%d/%y) \w $’

Результат будет выглядеть следующим образом:

[user@host] 08/17/08 /work/dir $

Цвета и стилизация
— Внешний вид и стиль надписей в шелле настраивается с помощью ASCII-свойств.
Рассмотрим следующие таблицы:

Название стиля Код
Сбросить все свойства 0
Повышенная яркость 1
Пониженная яркость 2
Подчеркнутый 4
Нормальная яркость 5
Инвертированный 7
Скрытый 8

Цвета

Название цвета Текст Фон
Черный 30 40
Красный 31 41
Зеленый 32 42
Желтый 33 43
Синий 34 44
Маджента 35 45
Циановый 36 46
Белый 37 47

Свойства текста задаются в формате

[свойство_фона;цвет_фона;свойство_текста;цвет_текста]

.
В случае, если цвет фона менять не надо — первые два параметра можно опустить.

Пример:

\[\033[0;40;4;31m\]vrootmnelogi\[\033[0m\]!!111

Результатом будет
— вывод строки »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. Сохраняем изменения, запускаем новый шелл.

Источник http://habrahabr.ru


Popularity: -0%

Комментариев нет »

Дай же, не жадничай!
ЯндексЯндекс. ДеньгиХочу такую же кнопку

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


Самые популярные статьи

  • Поиск при помощи утилиты find
  • Настройка Dynamic DNS на базе Bind9 и nsupdate
  • Вышел релиз Ubuntu Lucid Lynx 10.04 LTS
  • Объединение сетевых интерфейсов при помощи bonding
  • Мобильная версия сайта
  • Вышла вторая бета версия Ubuntu 10.04
  • Основы программирования под Mac OS X
  • Настройка SNMPD на Mac OS X
  • Установка Zend Optimizer на Ubuntu 10.04 LTS
  • Началось тестирования первой альфа-версии Ubuntu 10.10
  • Ограничение количества сессий с одного ip адреса
  • Вышел новый номер компьютерного журнала UserAndLINUX.
  • Настройка NAT по принципу сеть в сеть при помощи iptables NETMAP
  • Настройка беспроводного интернета Yota WIMAX
  • Установка и настройка VSFTPD + MYSQL (Ubuntu & Debian)
  • Настройка Kernel NAT на FreeBSD
  • Создание игрового сервера World of Warcraft на базе Debian или Ubuntu
  • Установка и настройка Pure-FTPD в связке с MYSQL на FreeBSD
  • C Новым Годом!
  • Ubuntu Server Pack
  • Вышел релиз почтового клиента Thunderbird 3.0
  • Просмотр IPTV из сети за сервером NAT
  • Подробное руководство по настройке wifi соединения с шифрованием разных типов
  • Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO
  • Установка Ubuntu Linux на MacBook Pro
  • Настройка Cron
  • Игры в Linux
  • Ставим и настраиваем XEN сервер
  • Сетевые утилиты онлайн - WHOIS
  • Вышла Ubuntu 9.10 Karmic Koala

  • « | »

    Рейтинг блогов Rambler's Top100
    службы мониторинга серверов