Por padrão, o bash carrega linhas do ~/.bash_history
histórico. É possível adicionar um arquivo personalizado para também ser carregado? Desejo injetar um arquivo contendo comandos que uso com freqüência e acessá-lo por meio da pesquisa interna.
9
/usr/local/bin
ou algo.bashrc
?Respostas:
Eu mantenho isso simples com um
alias h='history|grep'
carregado no meu perfil do Bash.Então, meu fluxo de trabalho é
h command
, por exemplo:h hpssa
Se eu quiser executar "
hpssa -stop
", simplesmente digito!226
Esta é apenas a minha abordagem, mas talvez você possa modificar a forma como está recuperando itens do histórico. Eu não acho que faz sentido realmente injetar dados no arquivo de histórico.
fonte
docker run ...
Eu costumava confiar muito em
Ctrl-R
(reverse-search-history
comando Readline), que pesquisa para trás no histórico para recuperar comandos longos inseridos anteriormente, mas agora prefiro usar aliases e scripts / funções de shell. De qualquer forma, ohistory
comando interno do Bash pode ser usado para carregar uma lista de comandos personalizados no seu histórico atual.Na página do manual do bash:
Automação de inicialização
Eu apenas tentei iniciar este comando automaticamente adicionando-o como a última linha no meu
.bashrc
. No entanto, os comandos do meu arquivo de histórico personalizado não estavam disponíveis quando iniciei um novo shell. Parece que o histórico do shell é carregado apenas do.bash_history
arquivo padrão : depois que os arquivos de inicialização foram processados e pouco antes do prompt ser apresentado para o shell interativo. Infelizmente, parece que não há uma maneira fácil de automatizar isso.fonte
Como o @AnthonyGeoghegan observou, o histórico é carregado após o processamento dos arquivos de inicialização. Isso oferece uma maneira diferente de pré-carregar o histórico desejado em um arquivo de inicialização:
Observe que essa abordagem pode resultar em várias cópias dos seus comandos especiais sendo adicionadas ao seu .bash_history ao longo do tempo. Você pode agrupar seus comandos especiais com linhas de comentário, para encontrá-los e removê-los facilmente (via, por exemplo, sed) como parte do preenchimento do arquivo .bash_history. Algo como:
fonte