Respostas:
Você pode reverter as configurações padrão do Ubuntu definindo duas variáveis (HISTIGNORE an HISTCONTROL), use os comandos como abaixo:
HISTIGNORE='!( *)'
HISTCONTROL=ignoredups
HISTCONTROL=ignoredups
altera o comportamento do histórico para ignorar apenas linhas duplicadas e não para ignorar linhas que começam com um espaço. (Você também pode definir HISTCONTROL como a sequência vazia (com HISTCONTROL=
) se desejar manter duplicatas, mas isso geralmente não é desejado.)
HISTIGNORE='!( *)'
faz com que a história ignore todas as linhas que não começam com um espaço: ( *)
corresponderiam a todas as linhas começando com um espaço, mas o líder !
nega a correspondência, portanto corresponde a tudo que não começa com um espaço. E tudo o que corresponder ao padrão HISTIGNORE será ignorado pela história. (Esta última opção requer que o bash seja executado com extglob
ativado, com shopt -s extglob
, mas essa é a configuração padrão no Ubuntu.)
Se você quiser tornar isso permanente, não esqueça de colocar os dois comandos acima no seu ~/.bashrc
.
HISTIGNORE='ls*:cd*'
, que fará com que o histórico ignore todas as linhas que começam com ls
ou cd
, você pode estender a lista com outros comandos, basta colocar um :
entre os comandos . Mas não esqueça que o recurso de recuperação de comando que você pode acessar pela "tecla de seta para cima" também usa esse histórico; portanto, se você definir algo a ser ignorado, não poderá recuperar esses comandos ignorados com o " seta para cima ".
ssh-copy-id
ou ssh-keygen
. Em HISTIGNORE
, eu incluído " ssh\ *
" com os meus outros comandos ignorados. Escapar do caractere de espaço parece ser obrigatório.
" Os comandos executados no terminal prefixado com espaços em branco não são registrados no arquivo de histórico de comandos "
Sim, eles estão.
.bashrc
.. Eu precisava disso para impedir festa de gravar cadacd
s,ls
S e outros comandos diários que eu uso; e para aqueles poucos comandos que eu preciso na história, agora eu posso usar o prefixo ..