Bashでは方法を知っています。
history |grep foo
これにより、fooを含む履歴に番号が付けられたコマンドのリストが表示されます。他のパラメータを使用してこれらのコマンドのいずれかを実行するには、マウスを使用してコピーして貼り付けます。正確なコマンドを繰り返したくありません。プロンプトからロードし、いくつか変更し、実行したいと思います。これを行う方法はありますか?上矢印が常に機能するわけではありません。
答え1
Bashを使用している場合は、コマンドを有効にしhistverify
てコマンドを呼び出して、!
その後に履歴のコマンド番号を入力できます。
shopt -s histverify
もう一つの興味深いアプローチは、以下を使用することですfc
。
fc 200
履歴の200番目のコマンドがエディタにロードされます。その後、必要に応じてコマンドを編集でき、エディタを終了するとコマンドが実行されます。
他のシェル(Zshなど)にも同様の機能があります。
バラより歴史的相互作用に関するBashマニュアルの章もっと学ぶ。