コマンドパラメータを履歴検索モードに変換

コマンドパラメータを履歴検索モードに変換

h + 検索モードに入ることで、端末履歴をすばやく検索できるエイリアスがあります。 alias h='history | /usr/bin/grep '

これはうまくいきますが、grepインスタンスを追加しないと、より多くの検索パターンを追加することはできません。例えばh pacman | grep wine

他の可能なパラメータを検索パターンに変換するように調整したいと思います。例えばh pacman wine

観察:これを達成するための既製の解決策があることを知っていますが、どうすればいいかわからないので学びたいです。

ベストアンサー1

これを行うには、シェルエイリアスの代わりにシェル関数が必要です。

function h() {
  code="cat ~/.bash_history"
  for arg in $@ ; do
    code="$code | grep $arg"
  done
  eval "$code"
}

.bashrcこの関数は、エイリアスディレクティブまたは通常エイリアスディレクティブを作成する任意の場所に配置できます。

おすすめ記事