De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 18 de Outubro de 2008
Em um ambiente gráfico é comum termos várias janelas de terminal. Para cada sessão é mantido um histórico dos comandos emitidos, para facilitar a nossa vida evitando que tenhamos que redigitar comandos, às vezes longos e complexos.
O problema é que cada uma das telas que usamos mantém o seu próprio histórico, e não conseguimos reproduzir, em uma segunda janela, os comandos emitidos na primeira. Pior ainda, ao fecharmos as janelas, o histórico é gravado em disco, mas não existe, por padrão, uma forma de se preservar o histórico de todas as janelas.
Para garantir que, ao término de uma sessão, os comandos sejam adicionados
a um histórico global, precisamos definir, no arquivo .bashrc
, a seguinte
opção:
shopt -s histappend
Por padrão, o histórico é escrito de uma vez quando a shell é encerrada. O comando acima faz com que os comandos sejam gravadas individualmente, logo que emitidos.
O arquivo onde são gravados os comandos chama-se .bash_history
. Você pode
comprovar este novo comportamento, após a definição da opção histappend
, abrindo
uma nova shell e emitindo o comando:
tail -f .bash_history
Você poderá comprovar que a cada comando emitido, em qualquer das janelas abertas, irá se refletir imediatamente no arquivo de histórico.
Além desta opção, é importante também definir, no arquivo .bashrc, a variável
de ambiente HISTSIZE
, que define o número de comandos a serem gravados. Por
padrão, são armazenados 500 comandos.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários