Existe uma maneira de tornar algumas entradas no histórico “pegajosas”?

0

Eu uso um pouco da coisa history / Ctrl R , mas de tempos em tempos também

  • um comando que uso regularmente (mas não regularmente o suficiente, aparentemente) "desaparece" por trás do limite do meu histórico de comandos ou

  • algum desligamento do sistema fez com que eu reinicializasse a máquina log de histórico se torna uma bagunça ilegível

Agora existe uma maneira de fazer entradas no histórico "stick", então Ctrl R não depende de um padrão específico para estar presente no log do histórico? Posso definir "entradas padrão" em meus .dotfiles em algum lugar, como .bashrc ou configuração do histórico?

Eu sei que há a opção de definir o limite do histórico como infinito, mas não quero isso.

    
por isync 08.06.2016 / 19:33

2 respostas

2

Eu costumava ser muito dependente do uso de Ctrl R para recuperar comandos inseridos anteriormente - tanto os usados quanto os longos e complicados. Eu encontrei problemas muito semelhantes aos que você descreveu.

Para superar esses problemas, modifiquei minha configuração de Bash para que, quando o shell sair, ele seja anexado ao arquivo de histórico, em vez de sobrescrevê-lo:

shopt -s histappend

No entanto, se o shell não saiu corretamente (como em uma redefinição física), eu ainda perderia o histórico dessa sessão, então adicionei o seguinte para salvar o histórico depois que cada comando é inserido.

PROMPT_COMMAND='history -a'

Aliases da shell

No final, eu adotei os apelidos de shell como a melhor maneira de salvar os termos mais usados comandos e aqueles longos e complicados que levam tempo para acertar. Contanto que eles sejam salvos no meu arquivo de alias, eles estarão sempre disponíveis para mim - até mesmo anos depois.

Eu armazeno todos os meus aliases em ~/.bash_aliases e, em seguida, obtenho esse arquivo do meu .bashrc como sugerido pelo padrão .bashrc fornecido pelo Ubuntu:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
    
por Anthony Geoghegan 08.06.2016 / 21:44
1

Não pegajoso, mas prolonga sua vida na história:

#store not 2k commands but 20k, feel free to increase if needed
export HISTFILESIZE=20000
export HISTSIZE=20000
#don't store duplicates, so save some space too
export HISTCONTROL="ignoredups"

Deve ser adicionado ao .bashrc

E sim, os aliases são muito úteis.

    
por Putnik 09.06.2016 / 17:08