web-dev-qa-db-ja.com

入力済みのコマンドのbash履歴を検索

Ctrl + rと入力してthenと入力すると、履歴のどのコマンドが一致しているかがわかります。

端末に入力したコマンドの履歴を検索する方法はありますかすでに

たとえば、ctrl + rと入力してからpingと入力すると、pingを実行したサーバーを順に切り替えることができます。しかし、最初に「ping」と入力してからctrl + rを押すと、すでに入力した「ping」は無視されます。

コマンドの文字列を入力して途中までたどり着くと、「これをすでに入力したので、最初からやり直すのではなく、すでに入力したものの履歴を検索するのがいいでしょう」と考えることがあります。

これは私が求めていることには意味がありますか?

5
user1028270

コマンドの入力を開始し、その一部を入力した後、履歴検索を行うことを忘れないでください。必要なのは次のことだけです。

  • CTRL+A
  • CTRL+R
  • CTRL+Y
  • CTRL+R...(検索を続けるか)
  • CTRL+S...(反対方向に検索*)

注意: CTRL+S で明示的にこの動作を取り消さない限り、ターミナルを一時停止します

[[ $- == *i* ]] && stty -ixon

あなたの.bashrc


編集:このやや重複した質問 https://superuser.com/questions/384051/is-there-a-way-of-using-ctrl-r-after-typing-part -of-command-in-bash/1271740#127174

5
Dr Beco

答えは、右側の列のstackexchangeによって自動的にリストされる「関連する」質問の1つにあります。タイプを実験するには

bind '"\e[A": history-search-backward'

次に、部分的なコマンドを入力し、上矢印キー(escape [ Aを生成するはずです)を使用して、履歴でこの部分的な入力を検索します。詳細は 完全な回答 を参照してください。

6
meuh