我不知道是否可能,但我想使用第二个终端(如终结器)而不是使用当前的$HISTFILE
.一个失忆的终端。
答案1
取决于外壳。在 Bash 中,您可以通过多种方式控制历史记录:
禁用保存历史记录使用
set +o history
并重新启用它set -o history
(注意颠倒的加号和减号)。禁用历史记录后,输入的命令将不会保存在历史日志中,但以前的命令将可用。HISTFILE
通过设置(HISTFILE=~/somehistoryfile
)来设置用于保存历史记录的文件。您可以通过使用 取消设置变量来完全禁用它unset HISTFILE
。如果禁用历史记录文件,您仍然可以在 shell 运行时访问运行时历史记录。您还可以设置HISTFILESIZE
控制文件中保存的命令数量。通过使用防止在历史记录中保存某些命令
HISTCONTROL
和/或HISTIGNORE
。设置HISTCONTROL
为ignorespace
将告诉 shell 不保存以空格开头的命令行。HISTIGNORE
可以包含不保存在历史记录中的命令模式。例如,HISTIGNORE='ls:ls *'
将阻止保存仅包含ls
或ls
、空格及其后的任何内容的行。
对于“amnesiac”shell,您需要在打开 shell 时手动应用这些设置之一,或者在某些 shell 启动脚本中设置它们。
一种选择是创建,例如~/.bashrc.nohist
:
# 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"
然后安排 shell 启动bash --rcfile ~/.bashrc.nohist
。调整脚本以适应口味。
答案2
为了不记录历史,可以输入unset HISTFILE
当前会话(对于bash)