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


Respostas:


18

A única coisa para a qual uso o espaço inicial é se eu quero poder reiniciar uma linha de comando mais antiga que comece com o mesmo comando ( !lspor exemplo) e preciso poder reexecutar a mais antiga, mas não a mais recente.

A outra vez que o uso é (raramente) nos casos em que forneço uma senha na linha de comando; prefiro não tê-las armazenadas no .bash_historyarquivo após a saída bash.


3

Além do Anthon: não é apenas possível evitar linhas de comando semelhantes no histórico, mas de tempos em tempos é necessário fazer isso: eu frequentemente analiso 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 a tela inteira (bash). O início do comando não é mostrado corretamente e, portanto, dificilmente pode ser editado.

Portanto, mantenho uma dessas linhas de comando bastante curta na história e bloqueio as outras.


Você deve fazer o seu tamanho festa história (número de itens ou linhas) ilimitadaexport HISTFILESIZE=-1
altmas5

3

Prefiro não saber quantas vezes joguei crawl !

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


1
Isso realmente não responde à pergunta
slm

2
Não sei: é um uso válido da variável (e é expressa com um grau de humor e nerdidade). Voto a favor.
jasonwryan

você pode adicionar os jogos que você joga para HISTIGNORE para evitar isso no arquivo de histórico
teísta
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.