Как выполнить первое совпадение из grep истории в bash one liner

Как выполнить первое совпадение из grep истории в bash one liner

По команде

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

Связанный контент