为什么以空格开头的命令不显示在 bash 历史记录中?

Tim*_*Tim -1 bash

在 bash 中,当我使用 Ctrl-R 检索上一个命令时,为什么该命令以空格开头时不起作用?我可以让它匹配这样一个以前的命令吗?

$  date
Fri Nov 23 ... 2018
(failed reverse-i-search)` date': cd database/
Run Code Online (Sandbox Code Playgroud)

and*_*coz 6

检查HISTCONTROL环境变量的值。如果该值包含ignorespaceignoreboth,则任何以空格开头的命令都不会添加到命令历史记录中。

来自man bash

HISTCONTROL:以冒号分隔的值列表,控制命令在历史列表中的保存方式。如果值列表包含 ignorespace,则以空格字符开头的行不会保存在历史列表中。ignoreups 的值会导致匹配前一个历史条目的行不被保存。ignoreboth 的值是 ignorespace 和 ignoreups 的简写。erasedups 的值会导致在保存该行之前从历史列表中删除与当前行匹配的所有先前行。任何不在上述列表中的值都将被忽略。如果 HISTCONTROL 未设置,或不包含有效值,则 shell 解析器读取的所有行都保存在历史列表中,受制于 HISTIGNORE 的值。