Sto lavorando sotto OS X 10.9.1 (Mavericks), usando Terminal, che riporta che è GNU bash, versione 3.2.51 (1) -release (x86_64-apple-darwin13)
Ho notato alcuni problemi strani in cui la cronologia non funzionava correttamente: history -a
e history -a filename.txt
non fanno nulla . history
mostra la storia che mi aspetterei. Ciò interrompe la sincronizzazione della cronologia .bashrc tra i terminali.
Ho iniziato a indagare modificando manualmente le variabili HIST di bash. Ecco come sono in grado di riprodurre il mio problema in condizioni un po 'controllate:
- Ho disabilitato il mio .bashrc
-
Ho aperto una nuova finestra di terminale e ho cancellato la cronologia
history -c
-
Ho confermato che il mio PROMPT_COMMAND è tornato normale / predefinito:
echo $PROMPT_COMMAND
Restituisce: update_terminal_cwd;
-
Ho impostato manualmente le variabili HIST pertinenti:
export HISTFILE="/Users/rsage/temp_history.txt" export HISTSIZE=20000 export HISTFILESIZE=20000
-
Conferma che i miei file di cronologia test sono stati cancellati:
ls *history*.txt # To make sure I know what I'm about to delete rm *history*.txt
-
Tento di salvare la cronologia utilizzando
history -a
senza fortunahistory -a history -a history_a.txt ls -ltr ; date
Quest'ultimo non mostra file di cronologia:
... drwx------+ 40 rsage staff 1360 Dec 20 14:16 Desktop drwxr-xr-x 4 rsage staff 136 Dec 20 18:48 webApps drwxr-xr-x 8 rsage staff 272 Dec 22 09:11 code drwxr-xr-x 17 rsage staff 578 Dec 22 09:26 stuff
Dom 22 dicembre 17:17:50 PST 2013
-
... ma mi sono imbattuto nel comando
history -w
(so che sovrascrive il file, che va bene con la mia bascrc nominale) e questo sembra funzionare bene:history -w history -w history_w.txt ls -ltr ; date
che produce i risultati previsti:
... drwx------+ 40 rsage staff 1360 Dec 20 14:16 Desktop drwxr-xr-x 4 rsage staff 136 Dec 20 18:48 webApps drwxr-xr-x 8 rsage staff 272 Dec 22 09:11 code drwxr-xr-x 17 rsage staff 578 Dec 22 09:26 stuff -rw------- 1 rsage staff 461 Dec 22 10:19 temp_history.txt -rw------- 1 rsage staff 494 Dec 22 10:19 history_w.txt
Un'ultima nota. Mi è venuto in mente che le mie dimensioni potrebbero essere troppo grandi, quindi ho appena provato 200 e nessun cambiamento di comportamento (i trent'anni sono i numeri di output della cronologia):
34 export HISTFILESIZE=200
35 export HISTSIZE=200
36 history -a
37 history -a history_a.txt
38 ls -ltr ; date
Le uscite ls non mostrano nuovi file.