【发布时间】:2020-10-15 22:39:30
【问题描述】:
我的实际用例是使用 docker 图像打印连续输出到 STDOUT 并且永不退出。我可以使用ping 复制相同的结果
运行ping google.com
当icmp_seq=4匹配时(例如)
然后将匹配的字符串保存到文件
还有pkill ping
我可以匹配我需要的字符串:
ping google.com | grep -o "cmp_seq=4"
我还可以将所有输出写入文件:
ping google.com &>> .env
我期待这会起作用:
ping google.com | grep -o "cmp_seq=4" &>> .env
但是上面我没有输出。所以我也尝试使用until
until ping google.com | grep -o "cmp_seq=4"; do ; sleep 1; done;
按预期输出字符串,但之后我无法终止进程:
until ping google.com | grep -o "cmp_seq=4"; do ; sleep 1; done; pkill ping
我知道我可以设置 -c4 来停止输出,但在我的实际用例中,我没有使用 ping 并且无法以相同的方式停止请求。
【问题讨论】: