Bash:如何在日志文件中找到匹配模式之前进行同步调用

时间:2012-07-11 04:26:59

标签: bash

我有一个启动服务器脚本

startserver.sh

它将作为后台任务startserver.sh &运行 脚本需要运行一段时间才能真正运行在运行状态。 运行状态可以在准备就绪时写入日志文件server.log

所以我需要通过执行bash cmd来了解服务器何时真正运行。如果没有,我需要等到在server.log中显示Running状态。

我可以用bash实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

mkfifo my_fifo
tail -f server.log >my_fifo &
tail_pid=$!
perl -ne '/pattern/&&exit' <my_fifo
kill $tail_pid
rm my_fifo

编辑:perl命令可以替换为

grep -l 'pattern' <my_fifo >/dev/null

或者如果grep支持此选项

grep -q 'pattern' <my_fifo