linux - 如何将输出直接用作命令

标签 linux bash ubuntu

通过这个 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/

相关文章:

linux - 使用 cp 命令会损坏跨不同文件系统传输的文件吗?我应该使用 rsync 之类的东西吗?

linux - 我可以将 DLL 项目编译为 ARM 的共享对象 (.so) 文件吗?

c++ - 在 Linux Mint 17.1 64 位(未声明/不是类型)上尝试 "make"C++ 项目时从 cstdlib 编译错误和类似错误

linux - 列出单个用户今天更改/修改的文件

linux - 计算日志文件中单词 [error] 和 [notice] 的出现次数

php - 如何将 php 7.0 更新为 php 7.1+ ubuntu

linux - 获取 ssh 命令的修剪输出

linux - Oracle select 不返回 sqlplus 下的所有列

arrays - 在给定索引处添加一个值而不删除

arrays - Bash:将行读入数组*而不*触及 IFS