Я только что установил новую копию El Capitan. Я случайно удалил .bash_history, поэтому я просто сделал это touch .bash_history
снова, надеясь, что это решит проблему моей истории bash, которая не запоминается при закрытии и повторном открытии терминала.
Но это не так. И я понятия не имею, почему.
Macbuech:~ josh$ ~/.bash_history
-bash: /Users/josh/.bash_history: Permission denied
Macbuech:~ josh$ ls ~/.bash_history
/Users/josh/.bash_history
Macbuech:~ josh$ echo $HISTSIZE
500
Macbuech:~ josh$ echo $HISTFILESIZE
500
Macbuech:~ josh$ echo $HISTFILE
/Users/josh/.bash_sessions/9817540A-F021-4E1A-93A1-B322BC4738AB.historynew
Macbuech:~ josh$ echo $HISTTIMEFORMAT
Я немного повозился, .bash_profile
чтобы заставить работать некоторые цвета, согласно этой статье :
export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'
Я снова удалил все это, чтобы убедиться, что проблема не в нем. Итак, вот мой .bash_profile
:
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
На этом сайте говорится, что может быть проблема с RVM, и я попытался добавить в него .bash_logout
with shell_session_update
, но безуспешно.
Любая помощь высоко ценится.
Вот мой полный env:
Macbuech:~ josh$ env
rvm_bin_path=/Users/josh/.rvm/bin
TERM_PROGRAM=Apple_Terminal
GEM_HOME=/Users/josh/.rvm/gems/ruby-2.2.4
SHELL=/bin/bash
TERM=xterm-256color
IRBRC=/Users/josh/.rvm/rubies/ruby-2.2.4/.irbrc
TMPDIR=/var/folders/sq/92dr708946s01kttg916m6xm0000gn/T/
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.9AJd6SsR1y/Render
TERM_PROGRAM_VERSION=361.1
MY_RUBY_HOME=/Users/josh/.rvm/rubies/ruby-2.2.4
TERM_SESSION_ID=9817540A-F021-4E1A-93A1-B322BC4738AB
rvm_stored_umask=0022
USER=josh
_system_type=Darwin
rvm_path=/Users/josh/.rvm
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.gZZeyimp2O/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
rvm_prefix=/Users/josh
PATH=/Users/josh/.rvm/gems/ruby-2.2.4/bin:/Users/josh/.rvm/gems/ruby-2.2.4@global/bin:/Users/josh/.rvm/rubies/ruby-2.2.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/josh/.rvm/bin
rvm_loaded_flag=1
PWD=/Users/josh
_system_arch=x86_64
XPC_FLAGS=0x0
_system_version=10.11
XPC_SERVICE_NAME=0
rvm_version=1.26.11 (master)
SHLVL=1
HOME=/Users/josh
LOGNAME=josh
GEM_PATH=/Users/josh/.rvm/gems/ruby-2.2.4:/Users/josh/.rvm/gems/ruby-2.2.4@global
LC_CTYPE=UTF-8
RUBY_VERSION=ruby-2.2.4
rvm_user_install_flag=1
_system_name=OSX
_=/usr/bin/env
Я столкнулся с той же проблемой после добровольного удаления файла .bash_history.
Простое решение — не только коснуться файла, но и добавить текст — одного или нескольких переводов строки недостаточно :
echo "exit" >> ~/.bash_history
Затем полностью закройте Терминал и снова откройте его. Если вы сохранили всю свою работу во всех сеансах терминала, вы также можете просто
killall Terminal
Обновлять:
Я попытался воспроизвести вашу среду на виртуальной машине 10.11, и это действительно проблема с RVM: комментирование всех строк, связанных с rvm, в .profile и .bash_profile повторно включает обновления файла .bash_history.
Однако файловый метод .bash_logout (с содержимым shell_session_update ), похоже, здесь работает надежно. Просто не забывайте всегда вводить exit
перед закрытием окна терминала или выходом из терминала. Без входа exit
история не обновится.
ls\nexit
.bash_profile
?mv ~/.bash_profile ~/off.bash_profile
и перезапустить Терминал (или killall Terminal
)exit
перед выходом/закрытием терминала/окна терминала не помогает? На моей виртуальной машине я получил тот же env
результат, что и у вас (за исключением того, что моя рубиновая версия была немного старше), и это сработало.Вам нужно воссоздать файл с помощью «nano», а не «touch». Запустите эту команду на терминале в вашей домашней папке (/Users/Your-Username):
нано .bash_history
Введите что-нибудь в файл (иначе он не будет создан), выйдите и сохраните.
Надеюсь, это поможет.
Матеуш Шлосек
ls -la ~/.bash_history
? Может проблема с разрешениями? Вот мой:-rw------- 1 myusername staff 10852 18 gru 20:41 /Users/myusername/.bash_history
Джошуа Мухейм
$ ls -la ~/.bash_history -rw-r--r-- 1 josh staff 3B Dec 31 08:38 /Users/josh/.bash_history
без холма
Джошуа Мухейм
Дэн
~/.bash_profile
, запустить новую оболочку входа в систему, проверить, есть ли у вас та же проблема, сообщить об этом в своем OQ.