Estoy trabajando bajo OS X 10.9.1 (Mavericks), usando Terminal, que informa que es GNU bash, versión 3.2.51 (1) -release (x86_64-apple-darwin13)
Noté algunos problemas extraños en los que el historial no funcionaba correctamente: history -a
y history -a filename.txt
no hacen nada . history
muestra el historial que esperaría. Esto rompe mi sincronización .bashrc de la historia a través de terminales.
Comencé a investigar cambiando manualmente las variables HIST de bash. Aquí es cómo puedo reproducir mi problema bajo condiciones controladas de alguna manera:
- Deshabilité mi .bashrc
-
Abrí una nueva ventana de terminal y borré el historial
history -c
-
Confirmé que mi PROMPT_COMMAND ha vuelto a su estado normal / predeterminado:
echo $PROMPT_COMMAND
Esto devuelve: update_terminal_cwd;
-
Establecí manualmente las variables HIST relevantes:
export HISTFILE="/Users/rsage/temp_history.txt" export HISTSIZE=20000 export HISTFILESIZE=20000
-
Confirmo que mis archivos de historial de prueba se eliminaron:
ls *history*.txt # To make sure I know what I'm about to delete rm *history*.txt
-
Intento guardar el historial usando
history -a
sin suertehistory -a history -a history_a.txt ls -ltr ; date
Este último no muestra archivos de historial:
... 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
Domingo 22 de diciembre 10:17:50 PST 2013
-
... pero me topé con el comando
history -w
(sé que sobrescribe el archivo, lo cual está bien con mi valor nominal de Bashrc) y esto parece funcionar bien:history -w history -w history_w.txt ls -ltr ; date
que produce los resultados esperados:
... 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
Una última nota. Se me ocurrió que mis tamaños podrían ser demasiado grandes, por lo que solo probé 200 y ningún cambio en el comportamiento (los años treinta son los números de salida del historial):
34 export HISTFILESIZE=200
35 export HISTSIZE=200
36 history -a
37 history -a history_a.txt
38 ls -ltr ; date
Las salidas de ls no muestran archivos nuevos.