我正在尝试实现一个等待日志文件中的特定消息的脚本.记录消息后,我想继续脚本.
这是我正在尝试的tail -f和grep -q:
# tail -f logfile | grep -q 'Message to continue'
Run Code Online (Sandbox Code Playgroud)
在grep从没有放弃过,所以它永远等待,即使"消息继续"的文件中被记录下来.
当我运行它没有-f它似乎工作正常.
tail -f将读取文件并显示稍后添加的行,它将不会终止(除非SIGTERM发送信号).grep这里不是阻挡部分,tail -f是.grep将从管道读取,直到它关闭,但它永远不会是因为tail -f不退出并保持管道打开.
您的问题的解决方案可能是(未经过测试且很可能表现不佳):
tail -f logfile | while read line; do
echo $line | grep -q 'find me to quit' && break;
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6412 次 |
| 最近记录: |