3

Я использую linux-утилиту 'screen' (я имею в виду терминальный мультиплексор).

В каждом "окне" экрана я запускаю bash.

Но похоже, что эти биты не имеют никакой истории команд.

Например, если я наберу это в из башен на экране:

[gojira@cray]$ date

Mon Jun  6 17:50:51 JST 2011

[gojira@cray]$ grep date ~/.bash_history

[gojira@cray]$

Так что ./bash_history просто кажется пустым.

Где хранится история каждого bash на экране?

3 ответа3

3

История сохраняется в $HISTFILE (по умолчанию ~/.bash_history). Если эта переменная пуста, файл истории не будет создан. История сохраняется при выходе из оболочки, а не до.

Чтобы проверить, была ли ваша история включена или нет, запустите:

echo "$HISTFILE"
1

История сбрасывается в файл только при выходе из оболочки.

Попробуйте встроенный в history bash для доступа к более свежей истории команд.

0

Возможно, вы захотите добавить shopt -s histappend к вашему .bashrc.

Это добавит содержимое вашей истории терминала в вашу .bash_history при выходе. В противном случае .bash_history будет перезаписан при выходе. Это означает, что вы можете потерять часть своей истории команд, если используете одновременно несколько оболочек bash, и закрыть их.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .