bash : コマンドの履歴を検索して利用

概要

bash のコマンド履歴を検索して利用する方法。

追記

  • 2019.4.26 カーソルキーキーの上下で検索する方法を追加

手順

Ctrl+r を使う方法

Ctrl+r で検索モードへ。

(reverse-i-search)`':

ここで文字を入力することで、コマンド履歴からインクリメンタルサーチされる。

さらに Ctrl+r で次候補、 Ctrl-s で前候補を表示出来る。

目的のコマンドが見つかったら、ENTER で実行、左右のカーソルキー ESC でコマンドが入力された状態へ。

Ctrl+s の無効化

デフォルトでは Ctrl+s はスクリーンロック機能 (解除は Ctrl+q) に割り当てられていて、前候補の表示が出来ない。

以下のコマンドでその割り当てを無効にすることで、前候補が表示可能になる。

$ stty stop undef

上記コマンドを .bashrc に記述することで、シェル起動時に実行されるので、毎回入力する必要がなくなる。

カーソルキーを使う方法

~/.bashrc に以下の2行を追加することで、次回ログインから有効化される。

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

以下のコマンドで即有効化。

$ source .bashrc

コメント

タイトルとURLをコピーしました