获取bash历史记录只记住以空格为前缀的命令!
在终端中执行的以空格为前缀的命令不会记录在命令历史文件中。 但有没有办法反过来,即历史应该只记录那些以空格为前缀的?
您可以通过设置两个变量(HISTIGNORE和HISTCONTROL)来反转默认的Ubuntu设置,使用如下命令:
HISTIGNORE='!( *)' HISTCONTROL=ignoredups
HISTCONTROL=ignoredups
更改历史行为以仅忽略重复行,而不忽略以空格开头的行。 (如果你想保留重复项,你也可以将HISTCONTROL设置为空字符串(使用HISTCONTROL=
),但通常不需要。)
HISTIGNORE='!( *)'
使历史记录忽略不以空格开头的每一行:( ( *)
将匹配以空格开头的每一行,但是领先!
否定匹配,因此它匹配不以空格开头的所有内容。 历史可以忽略HISTIGNORE模式所匹配的所有内容。 (后一个选项要求在shopt -s extglob
的情况下运行bash,使用shopt -s extglob
,但这是Ubuntu的默认设置。)
如果你想永久化,请不要忘记将上述两个命令放入~/.bashrc
。
“ 在终端中执行的以空格为前缀的命令不会记录在命令历史文件中 ”
对,他们是。