Eliminé .bash_history, ahora la historia ya no se guarda (aunque la he recreado)

4

Acabo de instalar una nueva copia de El Capitán. Accidentalmente eliminé .bash_history, así que hice un touch .bash_history otra vez, esperando que esto solucionara el problema de que no se recordara mi historial de bash al cerrar y volver a abrir el terminal.

Pero no fue así. Y no tengo idea de por qué.

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

Me jugué un poco con .bash_profile para que algunos colores funcionaran, de acuerdo con este artículo :

export PS1="\[3[36m\]\u\[3[m\]@\[3[32m\]\h:\[3[33;1m\]\w\[3[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

Volví a quitar todas las cosas para asegurarme de que el problema no está ahí. Así que aquí está mi .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*

Este sitio indica que puede haber un problema con RVM y traté de agregar un .bash_logout con shell_session_update en él, pero sin éxito.

Cualquier ayuda es muy apreciada.

Aquí está mi env completo:

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
    
pregunta Joshua Muheim 31.12.2015 - 09:05

2 respuestas

7

Encontré el mismo problema después de eliminar voluntariamente el archivo .bash_history.

La solución simple es no solo tocar el archivo, sino también agregar algo de texto: una o varias líneas de alimentación son no suficientes:

echo "exit" >> ~/.bash_history

Luego salga completamente de Terminal y vuelva a abrirlo. Si ha guardado todo su trabajo en todas las sesiones de terminal, también puede simplemente

killall Terminal

Actualizar:

Intenté replicar su entorno en una VM 10.11 y de hecho es un problema con RVM: comentar todas las líneas relacionadas con rvm en .profile y .bash_profile vuelve a habilitar las actualizaciones del archivo .bash_history.

El método de archivo .bash_logout (con el contenido shell_session_update ) parece funcionar de manera confiable aquí. Solo recuerda siempre ingresar exit antes de cerrar una ventana de Terminal o salir de Terminal. Sin ingresar exit , el historial no se actualizará.

    
respondido por el klanomath 11.01.2016 - 15:28
0

Es necesario volver a crear el archivo con "nano", no con "tocar". Ejecute este comando en el terminal, en su carpeta de inicio (/ Usuarios / Su nombre de usuario):

nano .bash_history

Escriba cualquier cosa en el archivo (de lo contrario no se creará), salga y guarde.

Espero esta ayuda.

    
respondido por el Joseph Collins 16.01.2016 - 08:15

Lea otras preguntas en las etiquetas