lista de histórico no bash sempre truncado para 5000 linhas no novo login

5

Semelhante ao problema de limitação de 5000 linhas quando a primeira coisa em .bashrc ter %código%  e   export HISTSIZE=10001

Meus usuários não têm arquivos export HISTFILESIZE=$HISTSIZE e o arquivo ~/.inputrc em todo o sistema, padrão inalterado para o Ubuntu 11.10, não possui nenhum /etc/inputrc definido. Nem a página history-size man mostra qualquer padrão para ela, exceto implicando (0) ou ilimitado.

No entanto, toda vez que eu faço login, meu prompt mostra que eu tenho apenas 5000, apesar de ter adicionado muito mais linhas de comando exclusivas durante minha última sessão ou salvar com readline sem ter logado.

Onde esta limitação é definida e como posso substituí-la?

Meu prompt e outras configurações possivelmente interessantes de ~ / .bashrc ou arquivos de fontes:

PS1='\u@\h\w \d,\t\$ (\!) '
HISTCONTROL=erasedups:ignorespace
HISTSIZE=10001
export HISTIGNORE="[   ]*:&:bg:fg:exit"
export HISTFILESIZE=$HISTSIZE
export PROMPT_COMMAND="history -a"  
shopt -s histappend
HISTTIMEFORMAT="%Y-%m-%d_%H-%M-%S " 
shopt -s histreedit

Exemplo de prompt:

master@quant~/dev Mon Feb 27,10:08:29$ (5721)

Para responder alguns comentários:

# to unpollute from other concurrent sessions, which previously already truncated file to 5000 at login:
master@ventana~ Mon Feb 27,18:47:35$ (9220) history -w  

master@ventana~ Mon Feb 27,18:51:34$ (9220) history |wc
   9219   69109  795143
master@ventana~ Mon Feb 27,18:51:51$ (9220) wc -l ~/.bash_history
18442 /home/master/.bash_history

# ignoring timestamps, nominally every other line like #1328201645
master@ventana~ Mon Feb 27,18:51:58$ (9220) grep -vc "^#[0-9]\{10\}$" .bash_history
9222
    
por Marcos 26.02.2012 / 20:34

1 resposta

2

Eu posso ter uma teoria sobre isso.

Anteriormente eu tinha

HISTSIZE=10001

No entanto, as linhas reais em ~ / .bash_history aparecem como

#1341908063
w;df
#1341908291
wizmo reboot!
#1341909327
sc stop uxsms; sleep 1; sc start UxSms

Em outras palavras, todas as outras linhas são um registro de data e hora devido à configuração do meu ambiente HISTTIMEFORMAT="%Y-%m-%d_%H-%M-%S " shell.

Assim, para um histórico de 5000 comandos, 10000 linhas no arquivo seriam necessárias.

Agora eu defino o limite para     HISTSIZE = 20001

e finalmente ver meu prompt mantendo mais de 5000 comandos de histórico após um novo login.

    
por 10.07.2012 / 08:48