Команда history -a
добавляет только файл истории. Это не влияет на любой сеанс оболочки, если вы не читаете из него. Итак, что вы ищете:
PROMPT_COMMAND="history -a; history -r"
Как объясняется в help history
:
-r read the history file and append the contents to the history
list
Таким образом, вы сначала добавите историю вашей текущей оболочки в $HISTFILE
а затем прочитаете ее, импортировав историю, добавленную из любого другого экземпляра оболочки, в текущий.
Обратите внимание, что если вы запустите команду в одном терминале, она не появится в истории другого, пока вы не запустите команду во втором. $PROMPT_COMMAND
запускается до того, как отображается приглашение, поэтому, если второй терминал просто открыт и находится там, он не будет читать новую команду, запущенную в первом, до тех пор, пока вы не запустите что-то во втором, и не отобразится новое приглашение.