如何阻止 bash 用星号替换历史命令? ('*')

如何阻止 bash 用星号替换历史命令? ('*')

*我在 bash 历史记录中替换了一些命令,例如

1094  apt-get update
1095* 
1096  dpkg -i /var/cache/apt/archives/libssl1.0.0_1.0.0h-1_amd64.deb

如何防止这种情况发生?

答案1

正如 Bash 中所解释的手动的,历史行前缀为* 已修改。当您导航到某个命令(例如使用 键Up)、对其进行编辑,然后在不按 的情况下导航离开该命令时,就会发生这种情况Enter。所以历史线是这样的:

1095* 

通常是导航到历史记录中的命令、退格并导航离开它的结果。了解这一点,您就可以轻松防止此类行出现在您的 Bash 历史记录中。

顺便说一句,您可以通过导航到修改后的命令并重复按Ctrl+将其恢复为未编辑状态_

答案2

看起来mark-modified-lines您的 shell 中已启用。尝试在以下位置禁用它~/.inputrc

set mark-modified-lines Off

详细信息在man bash.

相关内容