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

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

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

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

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

  • Могу ли я сделать историю не распечатывать временные метки для команд, которые были запущены до того, как я включил этот параметр?
  • Как исключить команду из списка истории, но сохранить ее в «живой» истории?
  • Использование только истории команд в памяти
  • Интерактивный поиск в стиле Ctrl-R в пользовательском файле
  • Замените последнее слово последней команды, но сохраните первый
  • Команды, запущенные при открытии терминала, не отображаются в истории
  • Постоянное сохранение команды в истории 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 следует прочитать файл истории и заменить текущую запись истории.

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

    Interesting Posts

    Удалить длинную строку из файлов

    apt-get обновление не работает

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

    Перенаправить все последующие команды 'stderr, используя exec

    Сервер Samba через некоторое время замедляется

    Настройте сервер OpenSSH, чтобы не требовать пароль * или * для конкретного пользователя

    Есть ли команда терминала, которая переходит в самый глубокий подкаталог в каталоге?

    Некоторые буквы на gnome-terminal не могут быть введены конкретным пользователем

    Контейнер LXC получает два назначенных ему IP-адреса

    Двойная загрузка окон 10 и Fedora

    Сценарий завершения работы Hook для закрытия sequnce

    Не удается обойти экран входа с правильными учетными данными и никаких ошибок в Kali Linux

    причина добавления разрешений на выполнение сценария оболочки

    Работа с экраном и emacs

    файл globbing в bash не подбирается php -l

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