- PVSM.RU - https://www.pvsm.ru -
Это не статья, а краткий how to по кастомизации bash'a.
Думаю каждый, не очень опытный, пользователь производных от линукса систем работает с консолью, и иногда сталкивается с разными проблемами или неудобностями. Однажды, точнее сегодня утром, я подумал «хватит это терпеть» и нагуглил путь к интересному файлу, который помог мне решить все мои проблемы:
~/.bashrc
Если вы о нем не знали, то загляните под кат, там найдете пару костылей
1. Подсветка
2. Алиасы
3. Функции
3. Все сломалось, как вернуть?
Проблема возникла при частом подключении по ssh на разные сервера, иногда просто забывал на каком я сервере и сначала вводил что-то не то. Подумав решил, что данную проблему исправит подсветка имени пользователя, машины и пути. Было:
Стало:
Для начала определим цвета:
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}"
}
Так что можно русифицировать bash))
У многих бывает:)
cp .bashrc-backup .bashrc
Вот и все. Собственно, по запросу «Customizing Bash» в гугле можно найти еще много чего где обо всем этом можно нормально почитать.
Автор: IgaIst
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/44345
Ссылки в тексте:
[1] Источник: http://habrahabr.ru/post/195348/
Нажмите здесь для печати.