通过这个 grep,它显示了我使用的命令:
echo `history | grep "ssh root" | head -1| cut -c6-`
输出如下:
ssh root@107.170.70.100
我希望输出直接作为命令执行而不是打印出来。 我该怎么做?
最佳答案
原则上,这可以通过使用$()
格式来完成,所以
$(history | grep "ssh root" | head -1| cut -c6-)
应该按照你的要求去做。但是,我认为这样做并不可取,因为这会自动执行 grep
产生的命令,所以如果您犯了错误,就会发生很多不好的事情。相反,我建议在重新执行之前检查您的结果。 bash
历史有很多不错的快捷方式来处理这类事情。举个例子,想象一下:
> history | grep "ssh root"
756 ssh root@107.170.70.100
您可以通过键入轻松地在第 756 行调用此命令
!756
绝对安全得多。希望这会有所帮助。
关于linux - 如何将输出直接用作命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44073691/