Настройка bashrc


Где хранить

Все настройки сохраняем в ~/.bashrc

История

Отображение даты и времени

HISTTIMEFORMAT="%h %d %H:%M:%S "

Количество записей

Количество команд для запоминания
HISTSIZE=20000

Указать необходимое количество, по умолчанию 500

Количество строк в .bash_history

HISTFILESIZE=20000

Указать необходимое количество, по умолчанию 500

Не перезаписывать .bash_history

shopt -s histappend

Запись в истории сразу после выполнения команды

PROMPT_COMMAND='history -a'

Режим сохранения команд

HISTCONTROL=erasedups:ignoreboth

Где хранить файл истории

HISTFILE=~/.my_history

По умолчанию хранится в ~/.bash_history

Если вы работаете с git

Добавляем две функции которые показывают бранч в котором мы работаем

function git-branch-name {
    git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3
}

function git-branch-prompt {
    local branch=`git-branch-name`
    if [ $branch ]; then printf " [%s]" $branch; fi

Теперь необходимо вывести то что отдают нам функции

PS1="\[\033[38;5;2m\]\u@\h:\[$(tput sgr0)\]\[\033[38;5;15m\]\w\[$(tput bold)\]\$(git-branch-prompt)\[$(tput sgr0)\]\\$ \[$(tput sgr0)\]"

Как пример

user@ubuntu:~/git/project [master]$
user@ubuntu:~/git/project [master]$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean