Existe uma maneira de influenciar o comportamento da história do bash?

3

No terminal, o histórico bash geralmente é útil quando você está procurando por uma linha de comando que você já usou. Mas existe uma maneira de influenciar o comportamento do histórico bash (ou seja, quais comandos são salvos, quanto tempo eles são salvos, quantos são salvos e assim por diante)?

    
por NES 25.12.2010 / 20:23

4 respostas

4

Várias variáveis controlam o comportamento de sua história:

  • HISTCONTROL : controla como os valores são salvos no seu histórico. Os valores ignorespace , ignoredups e erasedups podem ser inseridos aqui (separe-os por dois pontos).
  • HISTFILE : define o local do arquivo de histórico.
  • HISTFILESIZE : define o número máximo de linhas no seu arquivo de histórico.
  • HISTIGNORE : tem uma lista de padrões que o bash ignora (veja a outra resposta para sintaxe).
  • HISTSIZE : contém um número de linhas que são lembradas no shell real.
  • HISTTIMEFORMAT : contém uma expressão como uma entrada é formatada (veja outra resposta )
por qbi 25.12.2010 / 21:57
3

Definição do registro de data e hora do histórico:

  • Por padrão, o histórico não é anexado com o timestamp, mas é fácil configurá-lo para exibir o timestamp, basta definir uma variável de ambiente HISTTIMEFORMAT .

    export HISTTIMEFORMAT="%h/%d - %H:%M:%S "

  • Execute o histórico novamente para ver o resultado.
  • Se você não quiser salvar os comandos no histórico,

    export HISTSIZE=0

VARIABLES:

  • HISTFILE - Controla onde o arquivo de histórico é salvo.
  • HISTFILESIZE - Controla quantos comandos de histórico para manter em HISTFILE.
  • HISTSIZE - Controla quantos comandos de histórico para manter na lista de histórico da sessão atual.
  • HISTIGNORE - Controla quais comandos ignorar e não salvar na lista de histórico.

Nota:

  • Você perderá suas configurações depois de fechar o terminal. Assim, se quiser permanentemente, adicione o comando acima a ~/.bashrc ou ~/.bash_aliases .
por karthick87 25.12.2010 / 21:14
2

Você pode adicionar uma linha como

export HISTFILESIZE=5000

para o seu ~/.bashrc para aumentar o tamanho do histórico. Por padrão, os comandos iniciados com um espaço não são salvos. Isso é devido ao export HISTCONTROL=ignoreboth que é ativado globalmente no Ubuntu por padrão.

Você também pode ignorar os comandos que começam com l ou which usando

export HISTIGNORE="l*:which*"
    
por Carsten Thiel 25.12.2010 / 20:48
1

Existe uma maneira de dizer a história para não lembrar de um comando: basta começar com um espaço. Há também uma maneira muito fácil de recuperar um comando específico: digite CTRL + R e uma palavra do comando que você está procurando.

Existe certamente uma maneira de aumentar o histórico padrão, que é de 500 linhas por padrão ... mas não sei como, desculpe!

    
por Zakhar 25.12.2010 / 20:48

Tags