Bash - 由grep返回的运行命令

时间:2015-02-04 22:41:50

标签: linux bash debian

对不起,我真的很害怕bash ......

我正在运行一个debian服务器,我尝试在更新时自动重启服务。我使用debian-goodies包中包含的工具checkrestart

我到目前为止所做的一切都是:

checkrestart | grep "^service .* restart"

输出:

service apache2 restart
service bind9 restart
service ssh restart

如何完成我的小脚本以便输出的命令实际运行?

谢谢!

2 个答案:

答案 0 :(得分:1)

   checkrestart | grep "^service .* restart" | bash -v

答案 1 :(得分:0)

您可以使用eval。经过初步调查,我不确定是否可以管道。但是,您仍然可以像这样使用它:

eval $(checkrestart | grep "^service .* restart" | sed 's/$/;/')
需要

sed在每行的末尾添加分号(;),以便eval将它们作为单独的命令读取。