Ich habe gerade eine neue Kopie von El Capitan installiert. Ich habe versehentlich .bash_history gelöscht, also habe ich es gerade noch einmal gemacht touch .bash_history
, in der Hoffnung, dass dies das Problem lösen würde, dass mein Bash-Verlauf beim Schließen und erneuten Öffnen des Terminals nicht gespeichert wird.
Aber das tat es nicht. Und ich habe keine Ahnung warum.
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
Ich habe ein bisschen herumgespielt, .bash_profile
um einige Farben zum Laufen zu bringen, gemäß diesem Artikel :
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'
Ich habe das ganze Zeug wieder entfernt, um sicherzustellen, dass das Problem nicht dort liegt. Also hier ist meine .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*
Diese Seite gibt an, dass es möglicherweise ein Problem mit RVM gibt, und ich habe versucht, ein .bash_logout
with hinzuzufügen shell_session_update
, aber ohne Erfolg.
Jede Hilfe wird sehr geschätzt.
Hier ist mein komplettes 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
Ich bin auf das gleiche Problem gestoßen, nachdem ich freiwillig die Datei .bash_history gelöscht hatte.
Die einfache Lösung besteht darin, die Datei nicht nur zu berühren, sondern auch Text hinzuzufügen - ein oder mehrere Zeilenvorschübe reichen nicht aus:
echo "exit" >> ~/.bash_history
Beenden Sie dann das Terminal vollständig und öffnen Sie es erneut. Wenn Sie Ihre gesamte Arbeit in allen Terminalsitzungen gespeichert haben, können Sie dies auch einfach tun
killall Terminal
Aktualisieren:
Ich habe versucht, Ihre Umgebung in einer 10.11-VM zu replizieren, und es ist tatsächlich ein Problem mit RVM: Das Auskommentieren aller rvm-bezogenen Zeilen in .profile und .bash_profile aktiviert erneut Aktualisierungen der .bash_history-Datei.
Die Dateimethode .bash_logout (mit dem Inhalt shell_session_update ) scheint hier jedoch zuverlässig zu funktionieren. Denken Sie nur daran, immer einzugeben exit
, bevor Sie ein Terminal-Fenster schließen oder Terminal beenden. Ohne Eingabe exit
wird der Verlauf nicht aktualisiert.
ls\nexit
.bash_profile
?mv ~/.bash_profile ~/off.bash_profile
und Terminal neu starten (oder killall Terminal
)exit
vor dem Verlassen/Schließen des Terminals/Terminalfensters hilft nicht? In meiner VM habe ich die gleiche env
Ausgabe wie bei Ihnen erhalten (außer dass meine Ruby-Version etwas älter war) und es hat funktioniert.Sie müssen die Datei mit "nano" neu erstellen, nein mit "touch". Führen Sie diesen Befehl auf dem Terminal in Ihrem Home-Ordner (/Users/Your-Username) aus:
nano .bash_history
Geben Sie etwas in die Datei ein (sonst wird sie nicht erstellt), beenden und speichern Sie.
Ich hoffe das hilft.
Mateusz Szlosek
ls -la ~/.bash_history
? Vielleicht ist es ein Berechtigungsproblem? Hier ist meins:-rw------- 1 myusername staff 10852 18 gru 20:41 /Users/myusername/.bash_history
Josua Muheim
$ ls -la ~/.bash_history -rw-r--r-- 1 josh staff 3B Dec 31 08:38 /Users/josh/.bash_history
kein Hang
Josua Muheim
Dan
~/.bash_profile
, eine neue Login-Shell starten, prüfen, ob Sie das gleiche Problem haben, dies in Ihrer OQ melden.