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

Bash:在日志文件中找到匹配模式之前,如何进行同步调用,bash,Bash,我有一个启动服务器脚本 startserver.sh 它将作为后台任务运行startserver.sh& 脚本需要运行一段时间,直到它能够真正在运行状态下运行。 运行状态可以在准备就绪时写入日志文件server.log 因此,我需要通过执行bash cmd来知道服务器何时真正运行。如果没有,我需要等到server.log中显示运行状态 我能在bash中实现这一点吗?试试这样的方法 mkfifo my_fifo tail -f server.log >my_fifo & tail_

我有一个启动服务器脚本

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

因此,我需要通过执行bash cmd来知道服务器何时真正运行。如果没有,我需要等到server.log中显示运行状态


我能在bash中实现这一点吗?

试试这样的方法

mkfifo my_fifo
tail -f server.log >my_fifo &
tail_pid=$!
perl -ne '/pattern/&&exit' <my_fifo
kill $tail_pid
rm my_fifo
mkfifo我的fifo
tail-f server.log>my_fifo&
tail_pid=$!
perl-ne'/pattern/&&exit'请参阅。
grep -l 'pattern' <my_fifo >/dev/null
grep -q 'pattern' <my_fifo