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

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

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

  • Откройте терминал от Crontab
  • Почему Ctrl + V не вставляется в Bash (оболочка Linux)?
  • Вернитесь к предыдущей директории в оболочке
  • Как перезагрузить .inputrc с помощью сценария bash?
  • Linux merge folders: rsync?
  • Создавать распределение размеров файлов из командной строки
  • Custom Vim Highlighting (работает только с определенными типами файлов)
  • Linux / Unix в Windows
  • 2 Solutions collect form web for “Что определяет, что отображается в команде истории bash?”

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

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

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

     export HISTCONTROL=ignoredups 

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

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

    Давайте будем гением компьютера.