在bash中,当我使用Ctrl-R检索上一个命令时,为什么该命令以空格开头时却不起作用?我可以使其与以前的命令相匹配吗?
$ date
Fri Nov 23 ... 2018
(failed reverse-i-search)` date': cd database/
检查HISTCONTROL
环境变量的值。如果值包含ignorespace
或ignoreboth
,则任何以空格开头的命令都不会添加到命令历史记录中。
来自man bash
:
HISTCONTROL:用冒号分隔的值列表,用于控制如何在历史记录列表中保存命令。如果值列表包含ignorespace,则以空格字符开头的行不会保存在历史记录列表中。忽略的值将导致不保存与上一个历史记录条目匹配的行。ignoreboth的值是ignorespace和ignoreups的简写。擦除值的值导致在保存该行之前,将与当前行匹配的所有先前的行从历史记录列表中删除。不在上面列表中的任何值都将被忽略。如果未设置HISTCONTROL或不包含有效值,则由外壳解析器读取的所有行都将存储在历史记录列表中,但要遵循HISTIGNORE的值。多行复合命令的第二行和后续行未经过测试,
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句