我正在尝试编写一个在特定字符串最终写入日志文件时干净退出的命令。
我已经尝试过以下操作,但它永远不会退出。
设置:创建一个文件以测试命令。
echo "Build completed." > build.log
我尝试过:这些不起作用,命令永远不会退出。
tail -fn+0 build.log | grep -qe "completed"
tail -fn+0 build.log | grep --line-buffered -qe "completed"
这可行,但很复杂,这让我相信我还没有找到惯用的解决方案
while true; do awk '/completed/{f=1; exit} END{exit !f}' && break; sleep 1; done < build.log
macOS Ventura 13.0、zsh