Por que o bash tem uma opção HISTCONTROL = ignorespace?

13

Ou para expressar de maneira diferente, por que você quer impedir que os comandos sejam gravados no histórico do bash?

(Inspirado por uma questão relacionada .)

    
por LoicAG 19.02.2014 / 17:15

3 respostas

16

A única coisa que eu uso que o espaço inicial é se eu quero ser capaz de reiniciar uma linha de comando mais antiga que começa com o mesmo comando ( !ls por exemplo) e eu preciso ser capaz de re-executar o mais antigo , mas não o mais recente.

A outra vez que eu uso é nos casos (raramente) que eu dou uma senha na linha de comando, eu prefiro não ter aqueles armazenados no arquivo .bash_history quando eu sair do bash .

    
por 19.02.2014 / 17:22
3

Além do Anthon: Não é apenas possível evitar linhas de comando similares no histórico, mas de vez em quando é necessário fazer isso: Eu freqüentemente analiso os certificados OpenPGP no shell. Isso significa que 15 linhas (às vezes mais) são lançadas no console. Você faz isso algumas vezes e sua história está cheia. Pior ainda: o histórico não funciona bem se o comando cobrir toda a tela (bash). O início do comando não é mostrado corretamente e, portanto, dificilmente pode ser editado.

Assim, mantenho um pouco curto dessas linhas de comando na história e bloqueio as outras.

    
por 20.02.2014 / 06:06
3

Prefiro não saber quantas vezes joguei rastejar !

Ocasionalmente, gosto de fazer um history | awk '{print $2}' | sort -n | uniq -c | sort -n | tail para ver meus comandos mais publicados. Eu quero ver um ranking lá de comandos que eu acho interessante (coisas como ls , svn , p4 , for e cd ) e me sinto melhor quando não vejo jogos nessa Lista. Então, quando eu executo algo que não quero ver nessa lista, prefixo com um espaço.

    
por 20.02.2014 / 06:14