Mi historia de bash misteriosamente dejó de funcionar, y no tengo idea de cómo solucionarlo. Así es como se ve mi .bashrc:
HISTSIZE=500
HISTFILESIZE=500
HISTFILE=$HOME/.bash_history
Sin embargo, cuando lo ejecuto echo $HISTFILEse imprime /Users/myusername/.bash_sessions/EE8689E5-7DAD-4018-817E-0AF1DE36082A.historynew.
Soy el propietario del archivo .bash_history, por lo que no estoy muy seguro de cómo solucionar este problema.
¡Gracias!

$HISTFILE, por interés? No tengo un.bashrcOSX eecho $HISTFILEinforma el lugar que esperaría: ¿tiene algún efecto comentar las líneas en cuestión?HISTFILE="$HOME/.bash_history”. Sin las comillas, su versión no será válida si la ruta a su directorio principal contiene espacios (u otros caracteres especiales).Respuestas:
Terminal asigna a cada sesión de terminal un identificador único y lo comunica a través de la variable de entorno TERM_SESSION_ID para que los programas que se ejecutan en un terminal puedan guardar / restaurar el estado específico de la aplicación al salir y reiniciar Terminal con Reanudar habilitado.
Se utiliza una nueva carpeta (~ / .bash_sessions /) para almacenar los archivos HISTFILE y .session que son exclusivos de las sesiones.
Durante el inicio del shell, se ejecuta el archivo de sesión. Los archivos antiguos se eliminan periódicamente.
El comportamiento predeterminado se encarga de guardar y restaurar el historial de comandos bash de forma independiente para cada sesión de terminal restaurada. También combina comandos en la historia global para nuevas sesiones.
Puede deshabilitar este comportamiento y compartir un solo historial configurando
Si se define HISTTIMEFORMAT, el historial por sesión está deshabilitado de forma predeterminada (lea más en / private / etc / bashrc_Apple_Terminal)
El mecanismo de guardar / restaurar está deshabilitado si existe el siguiente archivo:
Apple ya cambió su comportamiento desde el lanzamiento de El Capitan, por lo que es mejor ir a leer más sobre esto aquí.
less /private/etc/bashrc_Apple_Terminalfuente
~/.bash_sessions_disablearchivo está pensado como último recurso en caso de que haya un problema que no pueda resolverse específicamente. Deshabilita más que solo el historial de comandos por sesión, y puede deshabilitar solo el historial de comandos por sesión. Vea los comentarios en/etc/bashrc_Apple_Terminalpara más detalles.export SHELL_SESSION_HISTORY=0.bashrcy.bash_profileunix.stackexchange.com/a/310150/15362Noté algo similar después de la actualización de El Capitan. Simplemente agregar el archivo
.bash_sessions_disableen su directorio de inicio deshabilita las nuevas sesiones de bash y.bash_historyvuelve a estar en uso.Este hilo de Reddit tiene más información y más enlaces.
fuente
~/.bash_sessions_disablearchivo está pensado como último recurso en caso de que haya un problema que no pueda resolverse específicamente. Deshabilita más que solo el historial de comandos por sesión, y puede deshabilitar solo el historial de comandos por sesión. Vea los comentarios en/etc/bashrc_Apple_Terminalpara más detalles.SHELL_SESSION_HISTORY=0en la parte superior de~/.bash_profile.Puede resolver el problema de RVM actualizando a la última versión de RVM o ejecutando esto:
Consulte https://github.com/rvm/rvm/issues/3540 para obtener más información.
fuente
Esta respuesta del hilo de Reddit me salvó:
fuente
Si es una Mac, supongo que su shell de inicio de sesión predeterminado es
bashy se ejecuta en.profilelugar de.bashrc. Entonces, estabas editando el archivo incorrecto.fuente
$HISTFILEen diferentes partes deprofile? ¿Tal vez obtienes otro script que cambia la variable? Revisé ambosTerminalyiTerm,bash3y4ambos tienen su valor predeterminado$HOME/.bash_history.$HISTFILEcambia. Por lo tanto, simplemente haga que dosecho $HISTFILErodeen su código. Lo que tiene que hacer es encontrar la pieza de código donde$HISTFILEcambia moviendo ambasecho $HISTFILElíneas cada vez más cerca, línea por línea, hasta que algo se revele. Eso es todo.echo $HISTFILEen cada línea, solo para ver si había alguna diferencia. Sin embargo, simplemente imprimió/Users/username/.bash_historyuna miríada de veces. Luego corríecho $HISTFILEen el shell, y salió/Users/nelsonliu/.bash_sessions/CD275A29-1DF1-4ED8-B8CE-F706B11B812F.historynew.Estaba viendo este problema en High Sierra. De alguna manera, mi propio .bash_history había pasado a ser propiedad de root y ni siquiera tenía permisos de lectura para otros usuarios (cuando los contenidos del directorio de inicio se veían con ls -al)
No hubo ninguna consecuencia en este archivo .bash_history, así que hice un sudo rm .bash_history seguido de un toque .bash_history para crear uno nuevo.
Todo parece bien ahora
fuente
~/.bash_profileexport HISTTIMEFORMAT='%F %T '