Как сохранить историю командной строки без выхода из системы?

Возможный дубликат:
Есть ли способ сделать историю при нажатии в bash, разделяемом между оболочками?

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

Можно ли использовать команды, выполненные с первой вкладки со второй вкладки, которая не открыта в настоящее время?

Как я могу использовать историю консоли синхронно между консолями?

  • Bash: отфильтровать недействительные команды из истории, в частности пароли
  • Удаление межсезонного дубликата в истории команд bash
  • Как закрыть терминал без сохранения истории?
  • Как использовать последнюю команду в цикле while?
  • Какая команда «история» используется для отображения содержимого файла истории bash помимо «.bash_history»?
  • HISTTIMEFORMAT не показывает правильную дату и время для истории
  • Почему у bash по умолчанию не было некоторых команд, которые я использовал в истории, но у меня есть другие?
  • иногда команды истории не хранятся в .bash_history
  • 3 Solutions collect form web for “Как сохранить историю командной строки без выхода из системы?”

    Согласно документации, history -a должна добавить в журнал history -a “ новые '' строки истории (строки истории, введенные с начала текущего сеанса bash).

    Возможно, вы можете сделать это с помощью ряда настроек, таких как (и я еще не полностью протестировал это) …

    export PROMPT_COMMAND='history -a; history -c; history -r'

    Это приведет к добавлению самой последней команды к вашему файлу .bash_history , затем очистке истории оболочки и повторному чтению файла .bash_history каждом распечатке приглашения оболочки … поэтому каждый раз, когда вы запускаете команду.

    Таким образом, команды с одного терминала будут добавляться в .bash_history каждый раз, когда они будут запущены, тогда второй терминал подберет их, когда он перечитает файл истории.

    Теперь имейте в виду, что это не в реальном времени, так как ваша вторая оболочка не будет перечитывать файл истории, который был написан только первой оболочкой, пока не будет запущена команда, но она, вероятно, будет близка к тому, что вы получите с bash.

    Вы можете найти значение при настройке вашего HISTCONTROL HISTCONTROL на ignoredups или erasedups , или этот вариант может работать не так хорошо для вас.

    export HISTCONTROL='erasedups'

    Часть 2: В соответствии с history -r документации history -r следует прочитать файл истории и заменить текущую запись истории.

    Не уверен, что вы подразумеваете под «синхронно», но если вы имеете в виду автоматическую синхронизацию историй из двух консольных окон / вкладок, я думаю, что ответ НЕТ. Вы должны сделать это вручную.

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.