tool foo
私はすべて同じバイナリ(たとえば、など)を使用する複数のサブコマンドを提供するコマンドラインツールを使用していますtool bar
。
7322 [2021-04-16 15:37:45 +0000] tool foo .
7323 [2021-04-16 15:37:47 +0000] tool bar
7324 [2021-04-16 15:37:50 +0000] tool baz
7325 [2021-04-16 15:38:01 +0000] tool qux -a -b asdf -c=100 /var/lib/foo/...
7326 [2021-04-16 15:38:15 +0000] htop
7327 [2021-04-16 15:38:21 +0000] tool foo . -x
正確なツールは排他的であり(正確な機能は関係ありません)、独自のコマンドを追跡して呼び出すのに役立つ特定の機能はありません。
たとえば、コマンド7325を覚えておきたいtool qux -a -b asdf -c=100 /var/lib/foo/...
(上矢印を数回押すほど新しいコマンドではないと仮定)。コマンドと引数が頻繁に変更され、Bashエイリアス設定が非現実的または不快に見えます(.bashrcを編集またはシェルを閉じるとエイリアスが失われます)。私はとても自信があります。最後これを実行すると、tool qux
使用したい正しいパラメータがあるか、とにかく編集する必要があるかなり安全なパラメータセットがあります。
history | grep qux
find History indexを実行してから実行できることを知っています !7325
。私ができる方法はありませんか?まっすぐBashプロンプトで一連のキーストロークを入力して覚えていますか?!tool qux
この場合は実行されるため動作しませんtool foo . -x qux
。引用してみましたが、拡張がより早く起こっているようです。
答え1
Ctrl通常、+を使用してアクセスするbashの「リバースインタラクティブ検索」を使用できますR。このキーの組み合わせを押すと、次のプロンプトが表示されます。
(reverse-i-search)`':
ここからコマンドの作成を開始することができ、履歴から最新の項目から自動的に完了します。ただし、入力した文字列全体と一致するため、tool q
すぐに再インポートされますtool qux -a -b asdf -c=100 /var/lib/foo/...
。すると、好きなようになります。
からman bash
:
reverse-search-history (C-r)
Search backward starting at the current line and moving `up'
through the history as necessary. This is an incremental
search.