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

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

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

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

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

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 следует прочитать файл истории и заменить текущую запись истории.

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

  • Способы избежать регистрации журнала bash?
  • Как вы получите всю историю пользователей
  • Как сделать предысторию предыстории истории bash?
  • Как установить количество напоминаний истории команд
  • История поиска из нескольких сеансов bash только при использовании Ctrl + R, а не при использовании клавиш со стрелками
  • Удаление межсезонного дубликата в истории команд bash
  • Как остановить bash заменять команды в истории звездочками? ( '*')
  • Замените последнее слово последней команды, но сохраните первый
  • Дубликаты в истории bash
  • Можно ли заменить / изменить аргумент с помощью bash bang (!) И истории
  • эхо-символы в терминале / bash
  • Как я могу вспомнить пронумерованную команду истории для редактирования?
  • Interesting Posts

    искать и заменять номера в vim

    Ошибка разрешений index.lock – .git принадлежит root, рабочее дерево, принадлежащее другому пользователю

    линии с уникальной контрольной суммой

    Как предоставить разрешения пользователю (относительно общего ресурса NFS)

    Как я могу перестроить stty lnext на ^ q?

    Использовать glob оболочки *, но исключить один файл и не совпадать с каталогами?

    Удалить префикс из заголовка объекта в индексном представлении

    Bluetooth-соединение вешает систему в debian

    Отфильтруйте файл .CSV на основе 5-го значения столбца файла и распечатайте эти записи в новый файл

    Должен ли я использовать косую черту в конце переменных пути в сценарии оболочки или нет?

    Почему Bash игнорирует SIGINT, если его текущий управляющий ребенок справляется с этим?

    Увеличьте размер файловой системы внутри изображения qcow2

    libpam загружать модули pam при каждом соединении

    Рекурсивно удалить скрытую директорию и ее файлы?

    Интерфейс не запускается в докере

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