Excluindo alguns dos comandos de serem armazenados no histórico bash

27

Existe alguma maneira de excluir comandos como rm -rf , svn revert de serem armazenados no histórico do bash? Na verdade, eu, por engano, os divulguei várias vezes, embora não tenha a intenção de fazê-lo, só porque estou fazendo as coisas rapidamente e aconteceu. Daí resulta em perda de muito trabalho que fiz até agora.

    
por Ravi Gupta 23.02.2012 / 09:38

3 respostas

48

Você pode querer $HISTIGNORE : "Uma lista de padrões separada por dois pontos usada para decidir quais linhas de comando devem ser salvas na lista de histórico." Esta linha no seu ~ / .bashrc deve fazer o trabalho:

HISTIGNORE='rm *:svn revert*'

Além disso, você pode adicionar um espaço no início de um comando para excluí-lo do histórico. Isso funciona contanto que $HISTCONTROL contenha ignorespace ou ignoreboth , que é o padrão em qualquer distro que eu usei.

    
por 23.02.2012 / 09:51
4

Apesar de ser um pouco diferente da pergunta do OP, quando intencionalmente não quero que um comando seja armazenado no histórico do bash, prefixo-o com um espaço. Funciona no Ubuntu e suas variantes, não tenho certeza se funciona em todos os sistemas.

    
por 24.02.2012 / 08:46
1

Normalmente, mato minha instância de bash quando faço coisas que não quero na história.

kill -9 $$

$$ representa o processo atual - bash quando você o executa a partir do shell. Você pode usar $ BASHPID, mas isso é mais digitação: -)

    
por 23.02.2012 / 13:44