Bashインタラクティブシェルにコマンドを入力するとスペルエラーが発生することはまれではありません。私は間違ったコマンドがbashレコードを汚染し、後で誤って再実行されることがないようにbashレコードのミスを修正できるようにしたいと思います。特に最後のコマンドを編集したいです。
持つかなり ㅏ 数字 ~の 質問どうやって聞く防ぐ誤ってbashの履歴を編集しました。私はその反対が欲しい:私は欲しい明らかに履歴を編集します。
参照の質問のいくつかの説明に基づいて、以下を試しました。
$ echo foo
Up次のように変更するにはタップします。
$ echo foobar
押しますDownが、何もしません。その後、押すとEnter変更されたコマンドが実行され、両方が保持されます。
echo foo
echo foobar
私の歴史に。
履歴項目を手動で削除できることはわかっていますが、history -d
便利に使用できる良い方法は考案できませんでした。最後の履歴エントリを無条件に削除するシェル関数を作成したくありません。なぜなら、Up最後の項目をロードして修正できるようにしたいからです。変更した後、最後から2番目のレコードを削除することができますが、これは不機嫌で、後で追加の手順を実行する必要があることを覚えているか、このステップの実行を一時的に一時停止する必要があることを覚えておく必要があるため、長期実行コマンドの場合迷惑です。続く。
私が望むもの:
理想的に私ができることは、を押して前のUpコマンドを変更してから特殊キーバインディングを押すか、コマンドラインに魔法フラグを追加して実行時に履歴エントリを置き換えることです。
実行時に履歴エントリを上書きする履歴からコマンドを検索および編集するために別のキーシーケンスを押すことも許可されます(Ctrl + Rと同様)。
ㅏ強い最後から2番目の履歴エントリを削除するシェル機能は許可されていますが、理想的ではありません。
私は他の人も間違いを犯し、これらの命令が彼らの歴史を汚したときに同じように迷惑をかけたと思います。他の人は何をしますか?
ベストアンサー1
オプション#1 - 手動
~/.bash_history
エディタでファイルを開き、必要に応じてファイルをvim
変更して保存します。
$ vim ~/.bash_history
編集する前に、現在の端末履歴もこのファイルにコミットされていることを確認してください。
$ history -a
履歴ファイルは、この環境変数が指す場所にあります。
$ echo $HISTFILE
/Users/user1/.bash_history
オプション#2 - HSTR
~/.bash_history
より体系的な方法でファイルを管理するために使用できるHSTRというCLIツールがあります。これHSTRメインウェブサイト使い方と動画です。
また、以下の紹介も言及します。
HSTRは、コマンド履歴を管理したり(古い情報や重要な情報を含むコマンドを削除したり)、お気に入りのコマンドをブックマークに追加することもできます。
詳細については、マニュアル全体を参照してください。HSTRファイル。