获取bash历史记录只记住以空格为前缀的命令!

Modified on: Sat, 09 Jun 2018 07:06:53 +0800

在终端中执行的以空格为前缀的命令不会记录在命令历史记录文件中。 但有没有办法反过来,即历史记录应该只记录以空格为前缀的那些?

作者:,precise

最佳答案

您可以通过设置两个变量(HISTIGNORE和HISTCONTROL)来反转默认的Ubuntu设置,使用如下命令:

HISTIGNORE='!( *)'
HISTCONTROL=ignoredups

HISTCONTROL=ignoredups将历史行为更改为仅忽略重复行,而不是忽略以空格开头的行。 (如果你想保留重复项,你也可以将HISTCONTROL设置为空字符串(使用HISTCONTROL=),但通常不需要。)

HISTIGNORE='!( *)'使历史记录忽略不以空格开头的每一行:( *)将匹配以空格开头的每一行,但领先的!否定了匹配,因此它匹配所有不以空格开头的内容。历史可以忽略HISTIGNORE模式所匹配的所有内容。 (后一个选项要求打开extglob运行bash,使用shopt -s extglob,但这是Ubuntu上的默认设置。)

如果你想永久保存,请不要忘记将上述两个命令放入~/.bashrc

作者:,falconer

相关问答

添加新评论