Что определяет, что отображается в команде истории bash?

Когда я запускаю history , я получаю список команд. Однако он не кажется полным, даже в течение определенного периода времени. (Не похоже, что он имеет постоянный охват прошлых N команд – кажется, что некоторые из них отсутствуют.) Кроме того, вывод history отличается на разных вкладках терминалов. Это потому, что история не записывается на диск, пока вкладка не будет закрыта? Объясняет ли это, почему некоторые команды кажутся потерянными, потому что они перезаписываются закрытием вкладок?

Я на OSX 10.8 за то, что он стоит.

2 Solutions collect form web for “Что определяет, что отображается в команде истории bash?”

На разных терминалах работают разные экземпляры вашего $SHELL (это BASH, вероятно, с тех пор, как вы находитесь на OSX). Каждый экземпляр сохраняет свою собственную историю, которая объединяется в историю глобального сеанса, когда этот конкретный экземпляр BASH завершается.

Вы можете попробовать это, открыв два терминала, выполнив некоторые команды, затем закройте оба терминала и откройте третий. Команды из (теперь закрытых) двух предыдущих терминалов теперь будут в вашей истории.

Также есть некоторые опции BASH для удаления повторяющихся команд, посмотрите на ваш $HOME/.bashrc и проверьте, есть ли у вас строка:

 export HISTCONTROL=ignoredups 

Этот параметр указывает BASH не сохранять повторяющиеся команды. Итак, если вы запустите ls 10 раз, он будет сохранен только один раз.

История оболочки существует на один экземпляр bash. Он считывается при запуске bash и выписывается при выходе bash. Закрытие вкладки принудительно убивает bash, что делает невозможным запись истории как обычно.

  • Перепутала переменную $ PATH в Mac OS X
  • Как войти в «корневую» учетную запись по умолчанию в Windows Subsystem для Linux Bash terminal
  • bash: Недопустимый номер
  • Как сравнить два числа с плавающей запятой в Bash?
  • Очистить stdin перед чтением
  • Почему равный оператор не работает, если он не окружен пространством?
  • Разбор JSON с инструментами Unix
  • Завершение вкладок, нечувствительных к регистру, в Bash
  • Неожиданное поведение Ctrl-a x и Ctrl-a X на экране ?! Регионы, блокировка
  • Как использовать обратные или отрицательные подстановочные знаки при сопоставлении шаблонов в оболочке unix / linux?
  • Тайм-аут команды в bash без лишней задержки
  • Давайте будем гением компьютера.