我有这样的脚本:
#!/bin/bash
while [ true ]
do
if tail -1 /tmp/test | grep 'line3'
then
echo found
sleep 5
else
echo not found
fi
done
它看起来对line3
每5秒。 如何使脚本停止一旦line3
是不是发现了什么?
我有这样的脚本:
#!/bin/bash
while [ true ]
do
if tail -1 /tmp/test | grep 'line3'
then
echo found
sleep 5
else
echo not found
fi
done
它看起来对line3
每5秒。 如何使脚本停止一旦line3
是不是发现了什么?
这是一个有点不清楚为什么要包括while [ true ]
在你的tail | grep
tail | grep
和if, then, else
的while
循环可以使用您的条款作为测试本身:
#!/bin/bash
while tail -1 /tmp/test | grep 'line3'
do
echo found
sleep 5
done
echo "not found"
没有什么错与包装if, then, else
在while [ true ]
,它仅仅是不是最佳少。
使用逻辑断裂。 没有必要打破。
#!/bin/bash
match=1
while [ ${match} -eq 1 ]
do
if tail -1 /tmp/test | grep 'line3'
then
echo found
sleep 5
else
match=0
echo not found
fi
done
解决了
#!/bin/bash
while [ true ]
do
if tail -1 /tmp/test | grep 'line3'
then
echo found
sleep 5
else
echo not found
break
fi
done