Resposta curta:
Digite isto no prompt:
$ kill -9 $$
Isso matará seu shell imediatamente, sem que o shell possa fazer qualquer coisa , como capturar o sinal, salvar histórico, executar ~/.bash_logout
, avisar sobre os trabalhos interrompidos ou qualquer outra coisa boa .
Resposta longa:
Observação: essas opções não são não mutuamente exclusivas; eles podem ser todos usados ao mesmo tempo.
Opção 1:
Se você é um perfeccionista quando se trata de encher o seu arquivo de histórico, então o que você pode fazer é modificar a variável HISTIGNORE
para incluir grupos de comandos que você não deseja que sejam gravados. Por exemplo, se você adicionar HISTIGNORE='ls*:cd*'
ao seu ~/.bashrc
, todas as instâncias de ls
e cd
não serão inseridas em seu arquivo de histórico.
Opção 2:
Se você quiser controlar comandos por comando que são deixados de fora do seu histórico, você pode definir HISTCONTROL='ignorespace'
, o que omite qualquer linha de comando que comece com um espaço. Usar ignoreboth
também omitirá linhas repetidas. Em seguida, pressionar a barra de espaço antes de digitar um comando fará com que ele não apareça no seu arquivo de histórico.
Opção 3:
Se você quiser apenas fazer isso quando fechar o terminal, o shell sairá imediatamente, você pode trap
do sinal que o programa do terminal envia ao shell ( xterm
, por exemplo, envia SIGHUP
e aguarda o shell para sair) e fazer sair sem salvar o histórico quando recebe este sinal. Adicione isto ao seu ~/.bashrc
:
# don't record history when the window is closed
trap 'unset HISTFILE; exit' SIGHUP