Когда я перезагружаю свой Mac, он закрывает и сохраняет буферы для каждой вкладки должным образом, поскольку он снова появляется, когда компьютер запускается снова. Но история команд не буферизуется должным образом для каждого окна / вкладки. Они все один и тот же буфер.
Я предполагаю, что это потому, что bash использует то же самое ~/.bash_history
для всех терминалов, но есть ли способ избежать этого? Чтобы сделать bash или, может быть, Terminal, хранить их отдельно?
Ответы:
Вы можете сделать что-то подобное в вашем
.bashrc
:Это создаст отдельные файлы истории в вашем домашнем каталоге, такие как
.bash_history_ttys002
. Когда вы создаете новое окно терминала, оно будет использовать файл истории, соответствующий имени tty, который обычно определяется просто порядком, в котором вы создаете окна терминала.источник
Я реализовал это, добавив
в мой
~/.bash_profile
файл. Теперь, когда я закрываю терминал и открываю его снова, для каждой вкладки восстанавливается отдельная история команд. Также, когда я создаю новую вкладку, история по умолчанию инициализируется из.bash_history
Также, чтобы
Terminal
приложение сохраняло открытые вкладки между выходом и перезапуском, вам нужно убедиться, что эта опция"close windows when quitting app" (on Yosemite)
отключенаSystem Preferences -> General
.источник
Вы можете установить пользовательский $ HISTFILE для каждого из ваших экземпляров терминала.
источник
$HISTFILE
когда компьютер запускается обратно?