Ho cancellato .bash_history, ora la cronologia non viene più salvata (anche se l'ho ricreata)

4

Ho appena installato una nuova copia di El Capitan. Ho accidentalmente cancellato .bash_history, quindi ho fatto di nuovo un touch .bash_history di nuovo, sperando che questo risolva il problema della mancata memorizzazione della cronologia di bash durante la chiusura e la riapertura del terminale.

Ma non è così. E non ho idea del perché.

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

Mi sono divertito un po 'con .bash_profile per far funzionare alcuni colori, secondo questo articolo :

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

Ho rimosso di nuovo tutte le cose per assicurarmi che il problema non fosse lì. Quindi ecco il mio .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*

Questo sito afferma che potrebbe esserci un problema con RVM e ho provato ad aggiungere un .bash_logout con shell_session_update in esso, ma senza successo.

Qualsiasi aiuto è molto apprezzato.

Ecco la mia guida completa:

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
    
posta Joshua Muheim 31.12.2015 - 09:05
fonte

2 risposte

7

Ho riscontrato lo stesso problema dopo aver eliminato volontariamente il file .bash_history.

La soluzione semplice è non solo toccare il file ma anche aggiungere del testo: uno o più feed di riga sono non sufficienti:

echo "exit" >> ~/.bash_history

Quindi chiudi completamente il terminale e riaprilo. Se hai salvato tutto il tuo lavoro in tutte le sessioni del terminale, puoi anche solo

killall Terminal

Aggiornamento:

Ho provato a replicare il tuo ambiente in una VM 10.11 ed è davvero un problema con RVM: commentando tutte le linee relative a rvm in .profile e .bash_profile riattiva gli aggiornamenti del file .bash_history.

Il metodo file .bash_logout (con il contenuto shell_session_update ) sembra funzionare in modo affidabile qui però. Ricordati di sempre inserisci exit prima di chiudere una finestra di Terminale o di uscire da Terminal. Senza inserire exit la cronologia non verrà aggiornata.

    
risposta data 11.01.2016 - 15:28
fonte
0

Devi ricreare il file con "nano", no con "touch". Esegui questo comando sul terminale, nella tua cartella home (/ Users / Your-Username):

nano .bash_history

Scrivi qualcosa nel file (altrimenti non verrà creato), esci e salva.

Spero che questo aiuto.

    
risposta data 16.01.2016 - 08:15
fonte

Leggi altre domande sui tag