Терминал OSX больше не сохраняет мои команды в истории

Вот моя проблема. На прошлой неделе я понял, что мой терминал OSX (10.11.13) больше не сохраняет команду, которую я выполняю, в файле(ах) истории .

Чтобы быть более ясным:

  1. я набираю командуtest
  2. В том же окне терминала я нажимаю стрелку вверх: все в порядке, testесть ли
  3. Если я закрою терминал, снова открою его и нажму стрелку вверх: testего больше нет (поэтому он переходит к команде, которую я выполнил несколько недель назад).

Вот что printenvвозвращается:

NVM_RC_VERSION=
rvm_bin_path=/Users/my-user/.rvm/bin
TERM_PROGRAM=Apple_Terminal
GEM_HOME=/Users/my-user/.rvm/gems/ruby-2.1.2
SHELL=/bin/bash
TERM=xterm-256color
IRBRC=/Users/my-user/.rvm/rubies/ruby-2.1.2/.irbrc
TMPDIR=/var/folders/4x/y0j5261j7j3142sx_82m6fxm0000gn/T/
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.JLKMtkE4S1/Render
TERM_PROGRAM_VERSION=361.1
MY_RUBY_HOME=/Users/my-user/.rvm/rubies/ruby-2.1.2
TERM_SESSION_ID=B48F774F-86DA-4AA1-BAB7-888DCBA65E5A
NVM_DIR=/Users/my-user/.nvm
USER=my-user
_system_type=Darwin
rvm_path=/Users/my-user/.rvm
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.550eXpVGiK/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x1
rvm_prefix=/Users/my-user
PATH=/opt/local/bin:/opt/local/sbin:/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php5.5.3/bin:/Users/my-user/.rvm/gems/ruby-2.1.2/bin:/Users/my-user/.rvm/gems/ruby-2.1.2@global/bin:/Users/my-user/.rvm/rubies/ruby-2.1.2/bin:/Applications/MAMP/bin/php/php5.3.6/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/my-user/.rvm/bin:/sdk/android/platform-tools:/sdk/android/tools
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
PWD=/Users/my-user
LANG=fr_FR.UTF-8
_system_arch=x86_64
XPC_FLAGS=0x0
_system_version=10.11
XPC_SERVICE_NAME=0
rvm_version=1.25.15 (stable)
SHLVL=1
HOME=/Users/my-user
LOGNAME=my-user
GEM_PATH=/Users/my-user/.rvm/gems/ruby-2.1.2:/Users/my-user/.rvm/gems/ruby-2.1.2@global
NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
_system_name=OSX
_=/usr/bin/printenv

Любая помощь?

Вероятно, это дубликат того, что я удалил .bash_history, теперь история больше не сохраняется (хотя я ее создал заново) . Я не отмечаю это как таковое, хотя. Пожалуйста, попробуйте метод файла .bash_logout (с содержимым shell_session_update) и временно отключите .profile/.bash_profile.
Не могли бы вы временно удалить свой ~/.bash_profile, запустить новую оболочку входа, проверить, есть ли у вас та же проблема, и сообщить об этом в своем OQ.
Я удалил свой .bash_profile, запустил новый терминал, похоже, он снова работает.

Ответы (1)

На основе этого вопроса и ответа должно работать следующее:

  • Отключите ~/.profile и ~/.bash:profile, переименовав его:

    mv ~/.bash_profile ~/off.bash_profile
    mv ~/.profile ~/off.profile
    
  • Создайте новый файл ~/.bash_logout с содержимым shell_session_update.

    echo "shell_session_update" > ~/.bash_logout
    
  • Входитьkillall Terminal
  • Откройте терминал и включите ~/.profile и ~/.bash_profile, переименовав его:

    mv ~/off.bash_profile ~/.bash_profile
    mv ~/off.profile ~/.profile
    
  • Входитьkillall Terminal

  • Откройте Терминал и проверьте поведение сейчас. Не забывайте всегда вводить exitсейчас перед закрытием окна терминала или выходом из терминала.
Ну, я должен признать, что я никогда не захожу exit, прежде чем закрыть окно терминала... Это означает, что я должен заходить exit50 раз в день :/
@enguerranws ​​Это известная ошибка RVM. В средах, отличных от RVM, вам не нужен файл .bash_logout. Хм, вы можете создать псевдоним e=exit? ;-)
Вы просто потрясающие :) Спасли мой день большое спасибо!!