Історія башів
Будь-які нові команди, що були видані в активному терміналі, можуть бути додані до .bash_history
файлу за допомогою наступної команди:
history -a
Єдина хитра концепція, яку потрібно зрозуміти, це те, що кожен термінал має свій список історії баш (завантажується з .bash_history
файлу, коли ви відкриваєте термінал)
Якщо ви хочете витягнути будь-яку нову історію, записану іншими терміналами протягом життя цього активного терміналу, ви можете додати вміст .bash_history
файлу до активного списку історії bash
history -c;history -r
Це очистить поточний список історії, щоб ми не отримали повторного списку, і додамо файл історії до (тепер порожнього) списку.
Рішення
Ви можете використовувати змінну bash PROMPT_COMMAND
для видачі команди з кожним новим запитом (кожного разу, коли натискаєте клавішу enter у терміналі)
export PROMPT_COMMAND='history -a'
Це запише кожну команду в файл історії по мірі її видачі.
Результат
Тепер будь-який новий термінал, який ви відкриєте, матиме історію інших терміналів, не маючи exit
цих інших терміналів. Це мій уподобаний робочий процес.
Більш точність
Скажімо, (чомусь) у вас є два термінали, які ви використовуєте одночасно, і ви хочете, щоб історія відображалася між обома для кожної нової команди.
export PROMPT_COMMAND='history -a;history -c;history -r'
Основний недолік тут полягає в тому, що вам може знадобитися натиснути клавішу Enter, щоб повторно запустити PROMPT_COMMAND, щоб отримати останню історію з протилежного терміналу.
Ви можете зрозуміти, чому цей більш точний варіант, ймовірно, є надмірним, але він працює для цього випадку використання.