Por defecto, bash carga líneas desde el ~/.bash_history
historial. ¿Es posible agregar un archivo personalizado para cargar también? Quiero inyectar archivos que contienen comandos que uso con frecuencia y acceder a ellos mediante la búsqueda integrada.
9
/usr/local/bin
o algo así.bashrc
?Respuestas:
Lo mantengo simple con un
alias h='history|grep'
perfil cargado en mi Bash.Entonces mi flujo de trabajo es
h command
, por ejemplo:h hpssa
Si quiero ejecutar "
hpssa -stop
", simplemente escribiría!226
Este es solo mi enfoque, pero tal vez podría modificar cómo está recuperando elementos del historial. No creo que tenga sentido inyectar datos en el archivo de historial.
fuente
docker run ...
Solía depender mucho de
Ctrl-R
(reverse-search-history
comando Readline) que busca hacia atrás en el historial para recuperar comandos largos ingresados anteriormente, pero ahora prefiero usar alias y scripts / funciones de shell. De todos modos, elhistory
comando incorporado Bash se puede usar para cargar una lista de comandos personalizados en su historial actual.Desde la página de manual de bash:
Puesta en marcha de la automatización
Acabo de intentar iniciar este comando automáticamente agregándolo como la última línea en mi
.bashrc
. Sin embargo, los comandos de mi archivo de historial personalizado no estaban disponibles cuando comencé un nuevo shell. Parece que el historial del shell solo se carga desde el.bash_history
archivo predeterminado : después de que se hayan procesado los archivos de inicio y justo antes de que se presente la solicitud para el shell interactivo. Desafortunadamente, parece que no hay una manera fácil de automatizar esto.fuente
Como observó @AnthonyGeoghegan, el historial se carga después de procesar los archivos de inicio. Eso ofrece una forma diferente de precargar el historial deseado en un archivo de inicio:
Tenga en cuenta que este enfoque podría dar como resultado que se agreguen múltiples copias de sus comandos especiales a su .bash_history, con el tiempo. Puede envolver sus comandos especiales con líneas de comentarios, para que pueda encontrarlos y eliminarlos fácilmente (por ejemplo, sed) como parte del llenado del archivo .bash_history. Algo como:
fuente