...

четверг, 26 сентября 2013 г.

Настраиваем bash

Это не статья, а краткий how to по кастомизации bash'a.

Думаю каждый, не очень опытный, пользователь производных от линукса систем работает с консолью, и иногда сталкивается с разными проблемами или неудобностями. Однажды, точнее сегодня утром, я подумал «хватит это терпеть» и нагуглил путь к интересному файлу, который помог мне решить все мои проблемы:

~/.bashrc

Если вы о нем не знали, то загляните под кат, там найдете пару костылей

Небольшое оглавление:




1. Подсветка

2. Алиасы

3. Функции

3. Все сломалось, как вернуть?

Подсветка




Проблема возникла при частом подключении по ssh на разные сервера, иногда просто забывал на каком я сервере и сначала вводил что-то не то. Подумав решил, что данную проблему исправит подсветка имени пользователя, машины и пути. Было:

image

Стало:

image

Для начала определим цвета:

COLOR_RED='\e[1;31m' COLOR_GREEN='\e[1;32m' NONE_COLOR='\e[0m'

На чвертьминуту остановимся на определении цвета: '\e[1;31m' Сам цвет тут это число "31", изменив цифру, как ни странно, изменится цвет, так что если вам надо дргие цвета — подбирайте; предшествует числу цвета цифра жирности: "1" если изменить её на «0», то шрифт будет не жирный, а обычный(правда смотрится он не очень).

Собственно, как поменять цвет для вывода имени пользователя и прочих:

export PS1="\[${COLOR_GREEN}\]\u@\h:\w $ \[$(tput sgr0)\]"

Кодом выше мы закрасили все в зелёный. С этим нам помогло подстановка строки "${COLOR_GREEN}" в нужное место.

Все это хорошо, но если выделить другим цветом путь, то будет более наглядно:

export PS1="\[${COLOR_GREEN}\]\u@\h:${COLOR_RED}\w ${COLOR_GREEN}$ \[$(tput sgr0)\]"

Алиасы




Аилас — это замена одной команды на другую, например по дефолту ubuntu предлагает такие алиасы:

alias ll='ls -alF'

alias la='ls -A'

alias l='ls -CF'

Исходя из строк выше можно сделать вывод, что алиас задается так:

alias вводимая_команда='исполняемая_команда с_параметрами_можно'

Например можно для удобства сделать такую замену:

alias my='mysql -u USER_NAME -p WORK_DATABASE'

Функции




Функции, это чучуть круче алиасов, тут можно описывать множество действий. Объявляются они так:

function foo()

{

# Команды

}


Например:

function hello()

{

echo -e "${GREEN}И тебе привет${NC}"

}


Что интересно, оно даже понимает кирилицу в имени ф-ции:

function ололо()

{

echo -e "${GREEN}Трололо${NC}"

}

image

Так что можно русифицировать bash))


Все сломалось, как вернуть?




У многих бывает:)

cp .bashrc-backup .bashrc

Вот и все. Собственно, по запросу «Customizing Bash» в гугле можно найти еще много чего где обо всем этом можно нормально почитать.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



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

Отправить комментарий