web-dev-qa-db-fra.com

gnome-terminal / mate-terminal ne sauvegarde pas l'historique sur ~ / .bash_history

Il y a deux jours, j'utilisais mon ordinateur comme d'habitude lorsque j'ai remarqué que les commandes que j'avais utilisées dans mate-terminal n'étaient pas enregistrées dans l'historique. J'ai essayé d'installer gnome-terminal. Mais c'est pareil. Je faisais des recherches à ce sujet et j'ai découvert que cela pouvait poser un problème d'autorisations sur ~./bash_history mais je les ai vérifiées et elles sont bonnes. Je ne pense pas que ce soit un problème avec BASH car j’ai essayé d’utiliser XTerm et cela écrit dans le fichier.

Edit: Voici le résultat pour les commandes suggérées:

mate-terminal:

mike@mikeUBU:~$ echo "$HISTFILE"
/home/mike/.bash_history

mike@mikeUBU:~$ ls -l ~/.bash_history
-rw------- 1 mike mike 288 Jul 30 01:59 /home/mike/.bash_history

mike@mikeUBU:~$ history | wc
     13      57     431

mike@mikeUBU:~$ echo $HISTFILESIZE
2000

mike@mikeUBU:~$ ps -p $$
  PID TTY          TIME CMD
 3647 pts/0    00:00:00 bash

XTerm:

mike@mikeUBU:~$ echo "$HISTFILE"
/home/mike/.bash_history

mike@mikeUBU:~$ ls -l ~/.bash_history
-rw------- 1 mike mike 288 Jul 30 01:59 /home/mike/.bash_history

mike@mikeUBU:~$ history | wc
     15      65     480

mike@mikeUBU:~$ echo $HISTFILESIZE
2000

mike@mikeUBU:~$ ps -p $$
  PID TTY          TIME CMD
 3850 pts/0    00:00:00 bash
2
Mike

Je ne pouvais pas arriver à résoudre ce problème. Ma solution consistait à réinstaller Ubuntu MATE, mais uniquement le système. J'ai mon dossier personnel dans une autre partition. J'ai choisi la méthode d'installation qui a gardé mes fichiers. Certaines applications ont également été conservées. Après la réinstallation, le problème avait disparu.

1
Mike

Quel est le contenu du fichier d'historique? Le contenu change-t-il? Est-ce écrasant plutôt que d'ajouter?

Comment pouvez-vous savoir, est de donner la commande history, puis quelques autres commandes, dateecho $PWDwhich man peu importe, puis exécutez la commande d'historique. S'il y a un changement, alors le fichier historique bash est probablement écrasé, plutôt que ajouté. Si c'est toujours le même, car il y a quelque temps, il a écrit un historique des commandes, et n'a pas changé depuis ... alors IDK, mais ce serait chouette de le savoir.

Quoi qu'il en soit, je parierais que la solution réside dans votre fichier .bashrc, où sont conservés divers paramètres permettant de gérer l'historique.

Voici quelques paramètres d’historique de mon fichier .bashrc:

# 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

si l'option est définie, la liste d'historique est ajoutée au fichier nommé par la valeur de la variable HISTFILE lorsque le shell se ferme, au lieu de remplacer le fichier.

Vous pouvez rechercher jusqu'au bas de votre .bashrc s'il y a des fonctions ou des paramètres différents pour la commande history, ceux à la fin du fichier prendront effet.

si votre fichier .bashrc ressemble à ceci, ou si vous pouvez poster des détails supplémentaires, il me fera plaisir de regarder cela de plus près ce soir. Je suis un peu surpris que xterm ne possède pas d'historique séparé. Si cela vous convient, il peut être utile de poster votre fichier .bashrc.

0
j0h