一部のbashインスタンスは、以前のコマンドを再利用して編集したときにコマンド履歴を変更しますが、他のインスタンスはそうではありません。検索してみましたが、履歴のコマンドが再利用および編集時に変更されるのを防ぐ方法を説明しているものが見つかりませんでした。
このような問題がありますこれしかし、これは履歴の編集を処理する方法についてのようです。最近、コマンドを再利用したときに履歴を編集するbashインスタンスが見つかりました。以前使用していた(私が知っている)すべてのbashシェルは、コマンドと編集コマンドを再利用するときに履歴を変更しないように設定されています。 (たぶん過去15年間、私のシェルの記録に正しく注意を払っていなかったかもしれません...)
したがって、これはおそらく最高の質問です。 bashに記録を変更しないように指示できますか?では、どうすればよいですか?
答え1
証拠がrevert-all-at-newline
答えです。 Bashプロンプトでコマンドを使用しても効果がないため、ファイルset revert-all-at-newline on
に含める必要があります。 (もちろん、新しいシェルを起動する必要があります。)~/.inputrc
set
また、~/.inputrc
読み込み中であることがわかりました。変える /etc/inputrc
存在する場合、これは作成時に~/.inputrc
この問題を解決するには 。~/.inputrc
$include /etc/inputrc
正しい方向を教えてくれた@StéphaneChazelasに感謝します。
答え2
~/.bashrcに追加できます。
shopt -s histappend