LINUX.ORG.RU

[bash] Общая история для всех терминалов

 


0

0

У одного пользователя открыто несколько терминальных сессий. Коммандный интерпретатор — bash.

Как сделать так, чтобы во всех терминалах была общая история команд? Уточняю. Допустим, в терминале1 вводим

term1# echo blabla
А в терминале2 тогда получаем
term2# history | tail -n2
 2005  echo blabla
 2006  history | tail -n2

Ответ на: комментарий от DuratarskeyK

Не катит

сделал по вашему совету

bash$ $ cat .bashrc | sed 's:^#.*::' | uniq

[ -z "$PS1" ] && return

export HISTCONTROL=ignoreboth
export HISTSIZE=2000

shopt -s histappend
PROMPT_COMMAND='history -a'
shopt -s cdspell
shopt -s cmdhist

shopt -s checkwinsize

[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"

if [ "$TERM" != "dumb" ]; then
    dc=.dircolors
    test -r $dc && eval "$(dircolors $dc)"
    # eval "`dircolors -b`"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
fi

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

alias du='du -hs'
alias df='df -h'
alias dl='/home/rumly/progs/bash/dl/download.sh'
alias cu='/home/rumly/progs/bash/check_update/check_update.sh'
alias wtd='/home/rumly/progs/bash/while_true_do.sh'
alias man_ru='LANG=ru_RU.UTF-8 man'
alias emacs='LANG=ru_RU.UTF-8 emacs'

/usr/bin/fortune 
Но полной синхронизации не получил. Нужно, чтобы 2 сессии сразу «видели» историю друг друга. Нужна общая история.

rumly111
() автор топика

Не думаю, что это реализуемо полноценно в bash. В zsh есть «из коробки».

GotF ★★★★★
()
Ответ на: комментарий от megabaks

.bash_history обновляется нормально. Тоесть каждая команда немедленно добавляется в него со всех терминалов

Но видимо каждый запущеный bash держит историю в оперативке, а не перечитывает ~/.bash_history

Надо настроить так, чтобы после каждой команды bash перечитывал этот файл.

ИМХО это зависит от дистра (у меня ArchLinux), такшто поковыряюсь еще — вдруг заработает.

rumly111
() автор топика
Ответ на: комментарий от rumly111

> .bash_history обновляется нормально. Тоесть каждая команда немедленно добавляется в него со всех терминалов
А перечитывать .bash_history, вместо hstory| ... не катит?

a_n
()
Ответ на: комментарий от a_n

А, всё въехал. Только по закрытию шела туда пишет...

a_n
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.