Depende do shell. No Bash, você pode controlar o histórico de várias formas :
-
Desative o histórico de salvamento usando
set +o historye reative-o comset -o history(observe o mais e o menos invertido). Com o histórico desativado, os comandos inseridos não serão salvos no registro do histórico, mas os anteriores estarão disponíveis. -
Defina o arquivo usado para salvar o histórico, definindo
HISTFILE(HISTFILE=~/somehistoryfile). Você pode desativá-lo completamente desativando a variável comunset HISTFILE. Se você desabilitar o arquivo de histórico, ainda terá acesso ao histórico de tempo de execução enquanto o shell estiver em execução. Você também pode definirHISTFILESIZEpara controlar a quantidade de comandos salvos no arquivo. -
Evite salvar determinados comandos no histórico usando
HISTCONTROLe / ouHISTIGNORE. A definição deHISTCONTROLparaignorespacedirá ao shell para não salvar linhas de comando iniciando com um espaço.HISTIGNOREpode conter padrões de comandos para não salvar no histórico. por exemplo.HISTIGNORE='ls:ls *'impediria salvar linhas que contenham apenaslsouls, um espaço e qualquer coisa depois disso.
Para um shell "amnesiac", você precisaria aplicar uma dessas configurações manualmente ao abrir o shell ou defini-las em algum script de inicialização do shell.
Uma opção seria criar, digamos ~/.bashrc.nohist com:
# include the standard startup files as --rcfile will override them
if [ -f /etc/bash.bashrc ] ; then
. /etc/bash.bashrc
fi
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
# disable history completely
HISTSIZE=0
# disable the history file
unset HISTFILE
# we could even set a reminder in the prompt
PS1="[nohist] $PS1"
e, em seguida, organize o shell para ser iniciado com bash --rcfile ~/.bashrc.nohist . Ajuste o script a gosto.