我不太擅长 Linux,但我有一台预制的服务器,上面装有 Linux 来进行监督。
操作系统是 CentOS 7。我注意到向上箭头允许搜索过去的命令(不仅针对当前会话,而且针对所有命令),但出于特定原因我想删除该选项。据我所知,\etc\bashrc
没有与\e[A
while 相关的行,其中\etc\inputrc
有一行用于历史搜索向后搜索,但对于\e[5~
.我评论了该行,但没有任何改变。至于~/.inputrc
文件,它不存在。
那么如何去掉向上箭头搜索历史功能呢?
答案1
要查看绑定了哪些键previous-history
:
bind -q previous-history
你会得到类似的东西
previous-history can be invoked via "\eOA", "\e[A".
然后,对于每一个:
echo '"\eOA": ""' >> ~/.inputrc
echo '"\e[A": ""' >> ~/.inputrc
启动一个新的 bash 会话,该bind -q
命令会告诉你
previous-history is not bound to any keys.
作为因此限制而感到不便的用户,我会这样做
set -o vi
,然后使用Escand k/j在历史记录中向上/向下
答案2
根据您的需求,您有以下解决方案:
如果您想不时删除您的历史记录:
history -c
如果你想永久禁用 bash 历史记录:
echo 'set +o history' >> ~/.bashrc
如果您只想隐藏 bash 历史记录中的某些行:
添加到~/.bashrc
以下行:
export HISTCONTROL=ignorespace
重新加载.bashrc
source ~/.bashrc
然后,当您不想记录命令时,您只需以空格开始该命令即可