#!/bin/bash
cd /root/.OceanVieW
keyword=$( cat oceanview.conf |grep "seaworld" |cut -d "=" -f2);
until [ ${#keyword} -gt 1 ] ; do sleep 30
cat oceanview.conf |grep "seaworld" |cut -d "=" -f2 ;
done
循环不会停止,而是继续进行。我希望得到结果后就停止。
答案 0 :(得分:1)
简化(根据OP comment),直到找不到seaworld=0
为止:
until grep -m 1 -vq '^seaworld=0$' oceanview.conf ; do
sleep 30
done
如果需要详细的输出(一个连续的数字列表,除了最后一个测试的数字外,它们都是0
),请尝试:
until grep -m 1 -v '^seaworld=0$' oceanview.conf ; do
sleep 30
done | cut -d "=" -f2
如果太冗长,则在-f2
后附加| uniq -c
,以显示0
个计数,最后一个数字打印在循环完成。