【发布时间】:2020-08-27 06:04:22
【问题描述】:
我正在寻找一个 bash 脚本,该脚本在容器日志显示“[services.d] 完成”之前不会继续。
例子:
#!/bin/bash
while [ docker logs container | grep "[services.d] done." ] = "false";
do
sleep 1
echo "working..."
done
【问题讨论】:
我正在寻找一个 bash 脚本,该脚本在容器日志显示“[services.d] 完成”之前不会继续。
例子:
#!/bin/bash
while [ docker logs container | grep "[services.d] done." ] = "false";
do
sleep 1
echo "working..."
done
【问题讨论】:
如果找不到字符串,Grep 将返回 false,因此请尝试:
#!/bin/bash
while ! docker logs container | grep -q "[services.d] done.";
do
sleep 1
echo "working..."
done
【讨论】:
until docker ... | grep ...; done 看哇哇哇! :-)
docker logs -f container 2>&1 | grep -m 1 '[services.d] done.'