История Tmux не сохраняется

Я столкнулся с проблемой, при которой команды, которые я запускаю внутри терминала tmux, не найден, когда я выхожу из сеанса tmux. Кто-нибудь может помочь?

tmux - с помощью этой команды для запуска сеанса tmux

echo "Hello" - с помощью этой команды в сеансе tmux

history - В этом случае echo Присутствует команда "Hello" .

exit - использование этого для выхода из сеанса tmux

история - выполнение этой команды после выхода из сеанса tmux

После запуска я не могу получить эхо «Привет» команда, которую я использовал в сеансе tmux.

0
задан 17 July 2021 в 16:16

1 ответ

Выйдите из терминала и перезапустите его. Теперь history покажет вам все эти команды, как из tmux, так и раньше.

История сеанса фиксируется в файле .bash_history только после выхода из сеанса. Когда вы начинаете новый сеанс, .bash_history будет прочитан, и команда будет доступна. Причина такой работы в том, что это позволяет оценивать историю каждого сеанса отдельно.

Можно настроить терминал так, чтобы выданные команды сразу были доступны в истории всех сессий.

От здесь:

Добавьте следующее в ваш ~/.bashrc:

# Avoid duplicates
HISTCONTROL=ignoredups:erasedups # Ubuntu default is ignoreboth
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend  # In Ubuntu this is already set by default

# After each command, append to the history file and reread it
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"

Узнайте больше о переменной HISTCONTROL здесь.

В стандартной установке Ubuntu, на самом деле, одной этой команды будет достаточно:

PROMPT_COMMAND="history -a; history -c; history -r"

Обратите внимание, что любая новая команда из другой сессии будет доступна в вашей сессии после того, как вы "обновили" подсказку: история обновляется, как только создается подсказка.

0
ответ дан 28 July 2021 в 11:17

Другие вопросы по тегам:

Похожие вопросы: