避免将bash命令添加到历史记录中

时间:2016-01-12 20:30:05

标签: bash

我想避免在bash历史记录中添加命令,因为它包含敏感数据。

$ export SECRET=sensitive
$ echo $SECRET

如何避免将export命令添加到历史记录中?

1 个答案:

答案 0 :(得分:4)

在shell变量ignorespace中使用值HISTCONTROL,例如通过这样设置~/.bashrc

HISTCONTROL=ignorespace

现在您可以在命令行前加一个空格,它将被忽略:

$  export SECRET=sensitive  # Intentional blank at the beginning of the line
$ echo $SECRET

来自Bash文档:

  

<强> HISTCONTROL

     

以冒号分隔的值列表,用于控制命令的方式                 保存在历史列表中。如果值列表包括                 忽略空间,以空格字符开头的行不是                 保存在历史列表中。值 ignoredups 会导致行                 匹配以前的历史记录条目以保存。价值                 ignoreboth是 ignorespace ignoredups 的简写。一个值                  erasedups 导致所有先前的行与当前行匹配                 在保存该行之前从历史列表中删除。                 忽略上面列表中没有的任何值。如果 HISTCONTROL 是                 未设置或不包含有效值,所有行都由                 shell解析器保存在历史列表中,取决于值                  HISTIGNORE 。多行的第二行和后续行                 复合命令未经过测试,并被添加到历史记录中                 无论 HISTCONTROL 的值如何。