bash onelinerで歴史上の最初の一致に対してgrepを実行する方法

bash onelinerで歴史上の最初の一致に対してgrepを実行する方法

コマンドに従って

history | grep vgh804

私は次のような結果を得ます。

   26  ssh -l vgh804 ssh-blah-blah
   29  ssh -l vgh804 ssh-blah-blah
   30  ssh -l vgh804 ssh-blah-blah
  103  ssh -l vgh804 ssh-blah-blah
  501  history | grep vgh804

26行目を実行したいです。しかし、私は一般的で一行の解決策が欲しいです。

var=$(history | grep vgh804 | head -n1 | awk {'print $1'}) && echo $var

私にください

26

感嘆符と組み合わせる方法はありますか?それはまるで

history | grep vgh804 | head -n1 | awk {'print $1'} | !

しかし、パイプできないので動作しません!

答え1

同じSSH接続が確立されている場合にのみ、以下を使用できます。

$!ssh

または

$!26

関連情報