shell - mojave - zsh config
¿Cómo le digo a Zsh que escriba el historial del shell actual en mi archivo de historial? (4)
Trabajo en un lugar que tiene millones de herramientas que requieren toneladas de opciones, por lo que confío significativamente en la historia de mi shell. Incluso hago una copia de seguridad de vez en cuando para asegurarme de no perder comandos útiles y largos.
Acabo de escribir uno de estos comandos y quiero asegurarme de que esté en el archivo del historial, pero tengo un trabajo de larga duración en segundo plano y no puedo escribir exec zsh
. ¿Hay algo más que pueda hacer en esta situación?
(Claro, podría copiarlo y pegarlo en un archivo, pero sería más lógico que existiera un comando flush-history
).
Luego de la línea a ~ / .zshrc, se ahorrará 1000 entradas que aumentamos al cambiar el valor de HISTSIZE y SAVEHIST
HISTSIZE=1000
if (( ! EUID )); then
HISTFILE=~/.zsh_history_root
else
HISTFILE=~/.zsh_history
fi
SAVEHIST=1000
Para escribir el historial de shell en el archivo de historial, haga
fc -W
fc
tiene algunas banderas útiles, man zshbuiltins
todas en man zshbuiltins
.
También puede automatizar completamente la lectura y escritura del archivo de historial después de cada comando (compartiendo así su archivo de historia automáticamente con cada ejecución de zsh) diciendo setopt -o sharehistory
. Lea más opciones relacionadas con la historia en las man zshoptions
.
También acabo de encontrar:
setopt INC_APPEND_HISTORY
De man zshoptions
:
INC_APPEND_HISTORY
This options works like APPEND_HISTORY except that new history
lines are added to the $HISTFILE incrementally (as soon as they
are entered), rather than waiting until the shell exits. The
file will still be periodically re-written to trim it when the
number of lines grows 20% beyond the value specified by $SAVE-
HIST (see also the HIST_SAVE_BY_COPY option).
Y use
fc -R
para leer en el historial (después de escribirlo) en un shell zsh existente.