Ejecuto Ubuntu 12.04, y por alguna razón bash no mantiene mi historial de comandos. el ~/.bash_history
archivo 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
.bashrc
./bin/bash
~/.bash_history
Respuestas:
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:
¡Esto aparentemente podría suceder mágicamente cuando haces mucho sudo bash!
fuente
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 historialTenga en cuenta que el historial solo se escribe una vez que el terminal se cierra o se cierra.
fuente
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_history
propiedad de root, pero todo es .bash_ * que debe ser propiedad del usuario.fuente