Mon histoire de bash a mystérieusement cessé de fonctionner et je ne sais pas comment la réparer. Voici à quoi ressemble mon .bashrc:
HISTSIZE=500
HISTFILESIZE=500
HISTFILE=$HOME/.bash_history
Cependant, quand je lance echo $HISTFILE
, il affiche /Users/myusername/.bash_sessions/EE8689E5-7DAD-4018-817E-0AF1DE36082A.historynew
.
Je suis le propriétaire du fichier .bash_history, je ne suis donc pas trop sûr de la manière dont je réglerais ce problème.
Merci!
Terminal attribue à chaque session de terminal un identifiant unique et le communique via la variable d’environnement TERM_SESSION_ID afin que les programmes exécutés dans un terminal puissent enregistrer/restaurer l’état spécifique à l’application lors de la fermeture et du redémarrage du terminal avec la reprise activée.
Un nouveau dossier (~/.bash_sessions /) est utilisé pour stocker les fichiers HISTFILE et .session uniques aux sessions.
Au démarrage du shell, le fichier de session est exécuté. Les anciens fichiers sont périodiquement supprimés.
Le comportement par défaut consiste à enregistrer et à restaurer l'historique des commandes bash indépendamment pour chaque session de terminal restaurée. Il fusionne également les commandes dans l'historique global pour les nouvelles sessions.
Vous pouvez désactiver ce comportement et partager un seul historique en définissant
export Shell_SESSION_HISTORY=0
Si HISTTIMEFORMAT est défini, l'historique par session est désactivé par défaut (pour plus d'informations, consultez/private/etc/bashrc_Apple_Terminal).
Le mécanisme de sauvegarde/restauration est désactivé si le fichier suivant existe:
~/.bash_sessions_disable
Apple a déjà changé certains comportements depuis la sortie d'El Capitan, il est donc préférable d'aller en savoir plus à ce sujet ici less /private/etc/bashrc_Apple_Terminal
J'ai remarqué quelque chose de similaire après la mise à niveau d'El Capitan. Ajouter simplement le fichier .bash_sessions_disable
dans votre répertoire personnel désactive les nouvelles sessions bash et le .bash_history
est de nouveau utilisé.
Ce fil de discussion Reddit contient plus d'informations et d'autres liens.
Vous pouvez résoudre le problème RVM en mettant à jour la dernière version de RVM ou en l’exécutant:
echo 'Shell_session_update' > $HOME/.bash_logout
Voir https://github.com/rvm/rvm/issues/3540 pour plus d'informations.
Cette réponse du fil Reddit m'a sauvé:
C'est probablement RVM qui empêche la sortie "hook" pour que bash_sessions s'exécute. Si vous commentez la ligne suivante dans votre fichier .bash_profile, cela devrait fonctionner.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Je voyais ce problème sur High Sierra. D'une manière ou d'une autre, mon propre .bash_history était devenu la propriété de root et n'avait même pas les permissions de lecture pour les autres utilisateurs (lorsque le contenu du répertoire personnel était visualisé avec ls -al)
Il n’y avait aucune conséquence dans ce fichier .bash_history, alors j’ai fait une copie de Sudo .bash_history suivie d’un contact .bash_history pour en créer un nouveau.
Tout semble bien maintenant
Si c'est un Mac, je suppose que le login par défaut Shell est bash
et qu'il exécute .profile
au lieu de .bashrc
Donc, vous éditiez le mauvais fichier.