Como definir o número de recuperações do histórico de comandos

Como definir o número de recuperações do histórico de comandos

Estou usando o bash. Para navegar no meu histórico de comandos, estou chamando o historycomando que acredito estar chamando o programa Gnu de mesmo nome. (Não sei se existe uma maneira específica melhor do bash).

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

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

Responder1

Em primeiro lugar,history éda maneira específica do bash, nada melhor. O historycomando é um bash integrado, como você pode ver executando

$ type history 
history is a shell builtin

Agora, o número de comandos que ele lembra é controlado pela HISTSIZEvariável. Para definir um número maior, adicione esta linha ao seu .profile(para saber por que este é um lugar melhor para isso do que .bashrc, consulteaqui):

export HISTSIZE=2000

De agora em diante, historyretornará os últimos 2.000 comandos que você executou.

Responder2

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

Responder3

Sim, man bashdiz:

HISTSIZE - O número de comandos a serem lembrados no histórico de comandos

Mas existe uma Readlinevariável 's:history-size

Defina o número máximo de entradas do histórico salvas na lista de histórico. Se definido como zero, todas as entradas existentes no histórico serão excluídas e nenhuma nova entrada será salva. Se definido com um valor menor que zero, o número de entradas do histórico não será limitado. Por padrão, o número de entradas do histórico não é limitado.

Você pode definir history-sizecom HISTSIZE=1000ou bind 'set history-size 1000'com a seguinte linha em seu ~/.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-sizedisponível desde bash-4.0-alpha:MUDANÇAS

Responder4

For more information, I am adding it. I used ubuntu 18. This worked for me.
$ echo $HISTSIZE
1000
$ echo $HISTFILESIZE
1000
$ echo $HISTFILE

vi /home/siva/.bashrc  # here we need to update the HISTSIZE variable to the required thing.
NOTE: open new terminal and check updated value will bere printed if you run $ echo $HISTSIZE

Reference Link:
https://www.redhat.com/sysadmin/history-command

informação relacionada