我想编写一个shell脚本来检测我的程序是否启动成功。
程序会创建一个日志文件。当日志文件包含新行: 时Server startup in
,停止 bash 命令。
我找到了一个解决方案kill
:
sh -c 'tail -f logfile | { sed "/Server startup in/ q" && kill $$ ;}'
但是当我把它放到我的詹金斯工作中时它不起作用,还有其他方法可以解决这个问题吗?
答案1
尝试一下:
tail -f logfile | grep -q "Server startup in"
它将搜索字符串,logfile
并grep
在出现包含该字符串的第一个新行后静默退出。命令退出后,将立即找到该字符串,然后您可以继续执行脚本。