如何阻止 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.

相關內容