暗无天日

=============>DarkSun的个人博客

如何禁用bash中的history

history能记录输入过的命令,这可能带来一些安全隐患,如果不想记录曾经输入过的命令该怎么办呢?难道只能不断的用 history -c 来清理掉吗?

其实无需这么麻烦,有几个方法可以禁用bash中的history功能:

  1. 删除 HISTFILE 变量

    HISTFILE 变量指定了用哪个文件来保存输入过的命令,关于这个变量 man 中这样描述的

    HISTFILE
                  保存命令历史的文件名 (参见下面的  HISTORY  历史  章节)。默认值是
                  ~/.bash_history。如果取消定义,在交互式       shell       退出时
                  命令历史将不会保存。
    

    删掉这个环境变量自然就没有文件来保存啦

    unset HISTFILE
    
  2. 设置 HISTFILESIZE 为 0

    HISTFILESIZE 顾名思义设置的是历史文件中包含的最大行数,关于这个变量 man 的描述为

    HISTFILESIZE
                  历史文件中包含的最大行数。当为这个变量赋值时,如果需要的话,历史文件将被截断
                  来容纳不超过这个值的行。默认值是   500。历史文件在交互式   shell
                  退出时 也会被截断到这个值。
    
    
    HISTFILESIZE=0
    
  3. 通过 set 命令

    set +o history