如何在 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

相關內容