Como parar de editar o histórico quando eu reutilizo e modifico uma entrada?

18

Algumas instâncias do bash alteram o histórico de comandos quando você reutiliza e edita um comando anterior, outras aparentemente não. Tenho pesquisado e pesquisado, mas não consigo encontrar nada que diga como impedir que os comandos no histórico sejam modificados quando forem reutilizados e editados.

Há perguntas como this , mas isso parece dizer como lidar com a história que está sendo editada. Eu só recentemente encontrei uma instância de bash que edita o histórico quando você reutiliza um comando - todos os shells bash anteriores que eu usei (tanto quanto eu notei) foram configurados para não mudar o histórico quando você reutiliza e edite um comando. (Talvez eu simplesmente não tenha prestado a devida atenção ao meu histórico de conchas nos últimos 15 anos ou mais ...)

Então essa é provavelmente a melhor pergunta: posso dizer ao bash NEVER para modificar o histórico - e se sim, como?

    
por Richard Wiseman 10.09.2014 / 12:24

2 respostas

8

Acontece que revert-all-at-newline é a resposta. Eu precisava incluir set revert-all-at-newline on no meu arquivo ~/.inputrc , pois usar o comando set no prompt do bash não tinha efeito. (Então, claro, eu tive que começar um novo shell.)

Além disso, descobri que ~/.inputrc está carregado em vez de /etc/inputrc se presente, o que significa que quaisquer padrões definidos no último não estarão mais ativos quando você criar ~/.inputrc . Para corrigir isso, inicie ~/.inputrc com $include /etc/inputrc .

Obrigado a @ StéphaneChazelas por me apontar na direção certa.

    
por 01.08.2016 / 11:13
1

Em ~ / .bashrc você pode adicionar

shopt -s histappend
    
por 07.02.2016 / 06:38