Siempre he usado bash para el trabajo, y nunca tuve problemas con él. Ahora, no guarda ningún comando en el historial nuevamente. Si abro un terminal de ventana, pruebo algunos comandos, actúa como si todo hubiera funcionado bien y me muestra el historial con las teclas de flecha. Pero si cierro la ventana (y es el momento en que se supone que se debe guardar en el archivo .bash_history) y abro otra, no hay signos de los últimos comandos.
¿Cómo puedo saber qué está yendo mal? O vuelva a configurar todo desde el blanco.
.bash_sessions_disable
y sé que vuelve al comportamiento predeterminadoRespuestas:
Hice esto:
Agregar una variable al
.bash_profile
archivoSHELL_SESSION_HISTORY=0
reiniciar el terminal y después de eso funciona como me gustaría. (Se guardaron los comandos después de que cerré la terminal)
PD: también uso las variables
HISTFILESIZE
yHISTSIZE
HISTSIZE es el número de líneas o comandos que se almacenan en la memoria en una lista de historial mientras su sesión de bash está en curso.
HISTFILESIZE es el número de líneas o comandos que (a) están permitidos en el archivo de historial en el momento del inicio de una sesión, y (b) se almacenan en el archivo de historial al final de su sesión de bash para usar en futuras sesiones.
fuente
A partir de OS X 10.11 El Capitan , el script instalado en el sistema se
/etc/bashrc_Apple_Terminal
coordina con la Terminal para guardar / restaurar historiales de comandos separados para cada terminal restaurada para Reanudar .Lea los comentarios
/etc/bashrc_Apple_Terminal
para obtener una explicación de cómo administra los historiales de comandos por terminal y cómo personalizarlo.Si personaliza,
PROMPT_COMMAND
asegúrese de concatenar el valor anterior para no eliminar el comando proporcionado por el sistema:Si instala un
EXIT
manejador de señaltrap
asegúrese de hacer algo similar (o llame a shell_session_update desde su manejador si no puede encontrar la forma de concatenar el valor anterior, es un poco complicado).Cuando salga del shell, este código guardará nuevos comandos en el historial del terminal en
~/.bash_sessions
. Para ver si encuentra algún problema, en lugar de cerrar el terminal, salga del shell manualmente conexit
(o Control-D). Registra mensajes de progreso. Observe si no se completa o si se muestra algún tipo de mensaje de advertencia o error.En general,
bashrc_Apple_Terminal
intenta detectar y deshabilitar el historial por sesión si parece que el usuario ha realizado personalizaciones que no son compatibles con él. Parece que has encontrado uno que no maneja. Considere presentar un informe de error con Apple: https://developer.apple.com/bug-reporting/fuente
/etc/bashrc_Apple_Terminal
sirve PROMPT_COMMAND?" Si es esto último, lo remito al código, que está documentado en detalle. O bien, debe comenzar otra sesión de preguntas y respuestas sobre eso.Por si acaso hay otros por ahí que tienen RVM (Rubí Manager Versión) instalado: Compruebe si usted tiene la siguiente línea en el
~/.profile
,~/.bashrc
o los~/.bash_profile
archivos.[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Ese fue el problema para mí. Intenta comentarlo.
Fuente: Reddit.
fuente
En una nueva instalación de Mac OS X (actualizada a 10.13.6), el historial de comandos de bash no se guardaba. Tampoco había archivos .bashrc o .bash_profile. En este caso, solo agregando un archivo .bashrc vacío me lo arregló.
Eso parece ser todo lo que necesitas ...
fuente
Tuve el mismo problema con un osx Mojave recién instalado. Revisé mi
~/.bash_history
archivo y vi esto:$ ls -l ~/.bash_history -rw------- 1 root staff 599 Jan 4 20:50 /Users/gilm/.bash_history
Simplemente volver a usar gilm resolvió el problema. Solía:
sudo chown gilm /Users/gilm/.bash_history
Y eso resolvió mi problema.
fuente
También puede crear un
.bash_logout
archivo con lo siguiente:Procedente del comentario de GitHub
fuente
trap shell_session_update EXIT
una vez y cierre la sesión. Hay pistas en el/etc/bashrc_Apple_Terminal
guión que son demasiado aburridas para incluir aquí.