如何在linux中执行历史命令

时间:2015-10-10 20:11:24

标签: linux bash debian

直接在我的历史记录中执行命令时遇到问题。它似乎是从我的历史中取出字符串,但是xargs不执行它而只是打印它。我该如何解决这个问题?

$ history | grep 6200 | head -n 1 | awk '{s=""; for (i = 2; i <= NF; i++) s = s $i " "; print s}' | xargs
    mplayer http://sfstream1.somafm.com:6200
$

正如您所看到的,第二行是我从运行命令得到的输出,但我希望命令实际上也可以执行。

1 个答案:

答案 0 :(得分:2)

来自man xargs

  

xargs从标准输入读取项目,由空格分隔(可以          用双引号或单引号或反斜杠或换行符保护,并执行命令(默认为/bin/echo

xargs不会运行您管道的内容,它会将其转换为您提供的命令的参数,如果没有提供,则为echo。使用xargs代替bash:它将运行命令进入其标准输入。