Como definir o número de recordes de histórico de comandos

10

Estou usando o bash. Para procurar meu histórico de comandos, estou chamando o comando history , que, na minha opinião, está chamando o programa Gnu de mesmo nome. (Eu não sei se há um melhor caminho específico).

No meu .bashrc, eu tenho atualmente uma linha export PROMPT_COMMAND='history -a' para preservar o histórico de minhas várias sessões de bash que estou executando.

Se eu fizer história, atualmente só vejo 524 entradas. Isso é configurável? Eu gostaria de aumentar isso para um número muito maior, digamos 2000.

    
por Gilles 08.05.2014 / 02:32

3 respostas

14

Primeiro de tudo, history é a maneira específica do bash, nenhuma melhor. O comando history é um bash embutido como você pode ver executando

$ type history 
history is a shell builtin

Agora, o número de comandos que ele lembra é controlado pela variável HISTSIZE . Para configurá-lo para um número maior, adicione essa linha ao seu .profile (por que esse é um lugar melhor para ele do que .bashrc , consulte aqui ):

export HISTSIZE=2000

A partir de agora, history retornará os últimos 2000 comandos que você executou.

    
por 08.05.2014 / 02:42
5

Sim, man bash diz:

HISTSIZE - The number of commands to remember in the command history

Mas há uma variável de Readline : history-size

Set the maximum number of history entries saved in the history list. If set to zero, any existing history entries are deleted and no new entries are saved. If set to a value less than zero, the number of history entries is not limited. By default, the number of history entries is not limited.

Você pode definir history-size com HISTSIZE=1000 , bind 'set history-size 1000' ou com a seguinte linha em ~/.inputrc : set history-size 1000

Exemplos :

HISTSIZE=1000
bind 'set history-size 0'
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 0
history # prints nothing

bind 'set history-size 0'
HISTSIZE=1000
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 1000
history # prints    13  echo $HISTSIZE\n14  bind -v | grep history-size\n15  history

history-size disponível desde bash-4.0-alpha : MUDANÇAS

    
por 11.07.2015 / 14:18
2

A variável HISTSIZE determina quantos comandos são mantidos no histórico de execução e HISTFILESIZE determina quantos comandos do histórico de execução são salvos quando o shell é encerrado.

    
por 08.05.2014 / 02:42