如何停止 bash 用星号替换历史记录中的命令?('*')

Eug*_*ash 5 bash command-history

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

1094  apt-get update
1095* 
1096  dpkg -i /var/cache/apt/archives/libssl1.0.0_1.0.0h-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

如何防止这种情况?

Eug*_*ash 4

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

1095* 
Run Code Online (Sandbox Code Playgroud)

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

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