o histórico do bash é anexado, mas o histappend está desativado


8

Estou no ubuntu 10.4 e meu shell está bash. Quando abro vários terminais gnomos e os fecho, o histórico é anexado corretamente. Quando entro shopt, diz entre outras coisas:

histappend      off

Alguém pode me dizer onde o comportamento do acréscimo está configurado?


11
remarcando 'ubuntu-10.04-lts' desde que o ubuntu-10.10 ainda não saiu. tho ouvi dizer que deve ser nomeado algo Meerkat.
— Quack quixote

11
btw, minhas conchas do bash no Lucid mostram todos os histasppendos como em ... nenhum ajuste ainda ... você já ajustou sua configuração do bash ?
— Quack quixote

@quack: Obrigado, eu estou à frente do meu tempo, como sempre ;-)
— Ludwig Weinzierl

@ Quack: Eu atualizei esta instalação várias vezes, então não tenho 100% de certeza. Para mim, não importa se o histappend está ativado ou desativado, a história é sempre anexada. O que estou realmente curioso é por que isso acontece? Seria interessante, se você pudesse comprar -u histappend e me dizer se ele ainda está anexado à sua instalação?
— Ludwig Weinzierl

Respostas:


1

histappendé a configuração que eu esperaria controlar isso. Como esses não são shells de login, não será algo acontecendo no /etc/bash.bash.logoutor ~/.bash_logout. Verifique se uma armadilha está configurada inserindo trap -p. Também faça echo $PROMPT_COMMANDpara ver se algo está acontecendo lá.


echo $ PROMPT_COMMAND retorna echo -ne "\ 033] 0; $ {USER} @ $ {HOSTNAME}: $ {PWD / $ HOME / ~} \ 007". trap -p não retorna nada. Eu não tenho /etc/bash.logout e ~ / .bash_logout não contém nada referente ao histórico.
— Ludwig Weinzierl

1

bashtenta acrescentar o máximo de histórico possível. Com histappendativado, você garantirá sempre anexar o histórico. Se estiver desativado, o histórico ainda será anexado apenas até o número de comandos Enterem uma bashsessão interativa > HISTSIZE. Quando isso acontece, o histórico será substituído.

Se você quiser história explicitamente de substituição, você pode usar history -wem .bash_logoutou uma saída armadilha.

Postei com mais detalhes nesta resposta sobre como o bashanexo histórico funciona.


-1

Eu escrevi uma dica rápida sobre como definir isso errado no meu site, mas vou parafrasear o post aqui, para responder sua pergunta, espero.

Você deve poder configurar o histappend como 'on' usando shopt.

Para habilitar a execução

shopt -s histappend

Para desativar a execução

shopt -u histappend

Isso ajuda?

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.