bashの一部のインスタンスは、前のコマンドを再使用および編集するときにコマンド履歴を変更しますが、その他のインスタンスは変更しないようです。私は検索と検索を行ってきましたが、履歴内のコマンドが再利用および編集されたときに変更されないようにする方法を示すものは見つかりません。
このような質問がありますが、それは編集中の履歴に対処する方法を言っているようです。コマンドを再利用するときに履歴を編集するbashのインスタンスに出会ったのは最近です-私が使用した以前のすべてのbashシェルは、再利用時に履歴を変更しないように構成されていますコマンドを編集します。(おそらく、私は過去15年間ほど、シェルの歴史に適切な注意を払っていませんでした...)
それがおそらく最良の質問です:bashに履歴を変更するように決して指示することはできません-もしそうなら、どのように?
set revert-all-at-newline on
リンクする質問で問題が解決しませんか?問題を再現する方法を示すことができますか?zsh
あなたが望むものによりインラインで動作するためにも使用できることに注意してください。
@mikeservマニュアルページを見ると、
—
リチャードワイズマン14
history -p
再利用したいすべてのコマンドに対して私がしなければならないことです-そうですか?もしそうなら、それは私が探しているものではありません。前述したように、コマンドを再利用および編集するときに履歴を変更しないbashのインスタンスを使用しました。
@StéphaneChazelasいいえ、私は
—
リチャードワイズマン14
revert-all-at-newline
必要なものだとは思いません。コマンドを編集し、Ctrlキーを押しながらCキーを押してキャンセルしても、履歴に影響を与えたくありません。履歴を変更しないようにbashを設定する必要はありませんでした。これは、新しいインストールがときどき一方の方法で、時には他方の方法で動作する理由について混乱している理由の一部です。ちなみに、コマンドの再利用で履歴を編集しないインスタンスでは、「オフ」に設定されているbind -V | grep revert
ことを示しますrevert-all-at-newline
。
実際、これはほとんど関係ありません
—
オリオン
bash
。readlineがすべてです。readline
ライブラリにはさまざまな実装があり、独自の設定セット(それらの多く)と独自の構成ファイルもあります。これが設定なのか、単に実装の違いなのか正確にはわかりませんが、bashではなくreadline関連のドキュメントで検索する必要があります。
history -p
履歴ファイルに影響を与えずに履歴を展開するために使用できます。history -s
同じことを行い、実行せずに履歴に追加することができます。HISTIGNORE='start of a command I never want in history.*:command2.*'
特定のコマンドを履歴に残さないようにすることができます。