根据bash中的输出退出运行命令

时间:2016-11-23 10:44:48

标签: bash terminal

我有一个使用

开始运行的流程

$ somecommand build

它基本上在Android模拟器上安装应用程序,然后启动模拟器。这个过程一直在运行,直到我手动杀死它。

此命令在运行应用程序时向终端输出一堆调试信息。我希望在这个连续输出的某个地方终止命令,终端上输出字符串[TESTS_ENDED]

关于如何做到这一点的任何关键人物?

1 个答案:

答案 0 :(得分:0)

awk的帮助下使用pkill

somecommand build | awk '/\[TESTS_ENDED\]/ {system("pkill somecommand")}'
  • 假设只有somecommand的一个实例正在运行

  • \[TESTS_ENDED\]匹配

  • 行中的[TESTS_ENDED]
  • 如果匹配,则会运行{system("pkill somecommand")},即awk将使用system()函数运行pkill somecommand,即somecommand将被{pkill杀死1}}