bash no guarda la historia


19

Ejecuto Ubuntu 12.04, y por alguna razón bash no mantiene mi historial de comandos. el ~/.bash_historyarchivo contiene solo 3 comandos que escribí hace unos meses.

¿Cómo puedo arreglar esto?

EDITAR: aquí está el contenido relevante de mi .bashrc:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

Verifique la configuración de su historial de bash en .bashrc.
jokerdino

@jokerdino thx, edité la pregunta. Es la configuración estándar (no los toqué).
yohbs

¿Cuál es el resultado de "echo $ SHELL"?
Aaron

@ BryceAtNetwork23/bin/bash
yohbs

3
Otra cosa para probar es verificar los permisos de~/.bash_history
reverendj1

Respuestas:


24

También podría ser esa raíz: root posee su .bash_history (¡ ROOT NO DEBE SER EL PROPIETARIO, SU USUARIO DEBE SER EL PROPIETARIO! ), En ese caso necesita:

$chown user:user .bash_history

¡Esto aparentemente podría suceder mágicamente cuando haces mucho sudo bash!


Wow, me di por vencido en esto y lo olvidé ... +1 y acepto.
yohbs

Sí, esto aparentemente sucede cuando haces mucho sudo bash. :-)
mahatmanich

2

Suponiendo que está usando gnome-terminal ??, si es así, tal vez verifique los permisos en .bash_history. Debería ser-rw-r--r--

Para hacerlo en una terminal ls -la |grep .bash, los 3 archivos deben tener los permisos anteriores. De lo contrario, intente eliminar .bash_history, reinicie y vea si se escribe un historial

Tenga en cuenta que el historial solo se escribe una vez que el terminal se cierra o se cierra.


1

Como se comentó anteriormente, esto se puede solucionar con cambios de propiedad de usuario root->. Los permisos iniciales pueden ser de -rw-r--r--o cualquier otra variación y propiedad de la raíz.

En mi caso, solo había sido .bash_historypropiedad de root, pero todo es .bash_ * que debe ser propiedad del usuario.


1
Recepción a pedir ubuntu :) Esta es una vieja pregunta contestada 3 años y la solución que ya se ha mencionado existe en otra respuesta .. solo voto para arriba :)
tormenta
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.