6 votes

J'ai supprimé .bash_history, maintenant l'historique n'est plus sauvegardé (bien que je l'ai recréé)

Je viens d'installer une nouvelle copie d'El Capitan. J'ai accidentellement supprimé .bash_history, donc j'ai juste fait un touch .bash_history encore une fois, en espérant que cela résoudrait le problème de l'historique de mon bash qui n'est pas mémorisé lors de la fermeture et de la réouverture du terminal.

Mais ce n'est pas le cas. Et je ne sais pas pourquoi.

Macbuech:~ josh$ ~/.bash_history
-bash: /Users/josh/.bash_history: Permission denied
Macbuech:~ josh$ ls ~/.bash_history
/Users/josh/.bash_history
Macbuech:~ josh$ echo $HISTSIZE
500
Macbuech:~ josh$ echo $HISTFILESIZE
500
Macbuech:~ josh$ echo $HISTFILE
/Users/josh/.bash_sessions/9817540A-F021-4E1A-93A1-B322BC4738AB.historynew
Macbuech:~ josh$ echo $HISTTIMEFORMAT

J'ai un peu bricolé avec .bash_profile pour faire fonctionner certaines couleurs, selon cet article :

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

J'ai à nouveau retiré tous les éléments pour m'assurer que le problème n'est pas là. Voici donc mon .bash_profile :

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

Ce site indique qu'il peut y avoir un problème avec RVM, et j'ai essayé d'ajouter un .bash_logout avec shell_session_update mais sans succès.

Toute aide est vivement appréciée.

Voici l'ensemble de mes env :

Macbuech:~ josh$ env
rvm_bin_path=/Users/josh/.rvm/bin
TERM_PROGRAM=Apple_Terminal
GEM_HOME=/Users/josh/.rvm/gems/ruby-2.2.4
SHELL=/bin/bash
TERM=xterm-256color
IRBRC=/Users/josh/.rvm/rubies/ruby-2.2.4/.irbrc
TMPDIR=/var/folders/sq/92dr708946s01kttg916m6xm0000gn/T/
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.9AJd6SsR1y/Render
TERM_PROGRAM_VERSION=361.1
MY_RUBY_HOME=/Users/josh/.rvm/rubies/ruby-2.2.4
TERM_SESSION_ID=9817540A-F021-4E1A-93A1-B322BC4738AB
rvm_stored_umask=0022
USER=josh
_system_type=Darwin
rvm_path=/Users/josh/.rvm
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.gZZeyimp2O/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
rvm_prefix=/Users/josh
PATH=/Users/josh/.rvm/gems/ruby-2.2.4/bin:/Users/josh/.rvm/gems/ruby-2.2.4@global/bin:/Users/josh/.rvm/rubies/ruby-2.2.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/josh/.rvm/bin
rvm_loaded_flag=1
PWD=/Users/josh
_system_arch=x86_64
XPC_FLAGS=0x0
_system_version=10.11
XPC_SERVICE_NAME=0
rvm_version=1.26.11 (master)
SHLVL=1
HOME=/Users/josh
LOGNAME=josh
GEM_PATH=/Users/josh/.rvm/gems/ruby-2.2.4:/Users/josh/.rvm/gems/ruby-2.2.4@global
LC_CTYPE=UTF-8
RUBY_VERSION=ruby-2.2.4
rvm_user_install_flag=1
_system_name=OSX
_=/usr/bin/env

10voto

klanomath Points 63400

J'ai rencontré le même problème après avoir volontairement supprimé le fichier .bash_history.

La solution simple consiste non seulement à toucher le fichier, mais aussi à ajouter du texte - un ou plusieurs sauts de ligne sont possibles. pas suffisante :

echo "exit" >> ~/.bash_history

Quittez ensuite complètement Terminal et rouvrez-le. Si vous avez sauvegardé tout votre travail dans toutes les sessions de Terminal, vous pouvez aussi simplement

killall Terminal

Mise à jour :

J'ai essayé de reproduire votre environnement dans une VM 10.11 et il s'agit bien d'un problème avec RVM : commenter toutes les lignes relatives à rvm dans .profile et .bash_profile réactive les mises à jour du fichier .bash_history.

La méthode du fichier .bash_logout (avec le contenu shell_session_update ) semble toutefois fonctionner de manière fiable. Il suffit de se rappeler de siempre entrer exit avant de fermer une fenêtre de Terminal ou de quitter Terminal. Sans entrer dans exit l'historique ne sera pas mis à jour.

0voto

DJ RayD Points 91

Vous devez recréer le fichier avec "nano", et non avec "touch". Exécutez cette commande sur le terminal, dans votre dossier personnel (/Users/Your-Username) :

nano .bash\_history

Tapez quelque chose dans le fichier (sinon il ne sera pas créé), quittez et enregistrez.

J'espère que cela vous aidera.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X