Настройка 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
- ignorespace - не сохранять строки начинающиеся с символа <пробел>
- ignoredups -не сохранять строки, совпадающие с последней выполненной командой
- ignoreboth - использовать обе опции 'ignorespace' и 'ignoredups'
- erasedups - удалять ВСЕ дубликаты команд с истории
Где хранить файл истории
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