shell中实现一直循环查找文件中是否存在指定字符串

jacksir 2016-07-15 09:56:05
我有一个文件"/home/lts/system/config/cellstat.lst"是实时更新的,内容如下:
cell001 Running
cell002 Running
cell003 Running
cell004 Running
cell005 Fail
cell006 Running
cell007 Running
cell008 Running
cell009 Idle
cell010 Running
我需要每5分钟循环查看cellstat.lst文件中是否存在字符串“Running”,
存在时等待10分钟后再查看,
当不存在时执行"/home/spcmd.sh".

我的部分shell代码如下:
pccmd=$(cat /home/ope/lts/system/jexe/version.pcd |grep 'Version.CMD' |awk -F '[ :]' 'NR==1{print $2}')
newpccmd=B01

if [ $pccmd -eq $newpccmd ]; then
exit
else
在此添加循环查看(grep -q "Running" /home/lts/system/config/cellstat.lst)
if [ $? -eq 0 ]; then
等待10分钟后再查看(sleep 10m)
else
sh /root/setuppccmd.sh (执行setuppccmd.sh后系统会自动重启,循环也就结束了。)
fi
fi

循环方法可能存在问题,也不知道在shell中能不能实现这个,还请各位帮忙想想方法解决此问题,谢谢!
另,这个文件我是通过ssh激活的,激活后根据相应条件执行,现在主要是这个循环不知怎么弄?
...全文
904 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
renwotao2009 2016-07-16
  • 打赏
  • 举报
回复
定时任务,crontab可以参考http://blog.csdn.net/renwotao2009/article/details/51533387
renwotao2009 2016-07-16
  • 打赏
  • 举报
回复
引用 2 楼 snrtjat 的回复:
crontab 的功能我是知道的,我想知道是否还有其它方法?让这个循环一直执行……

while [ /bin/true ]; do
       cmd
       ...
done
jacksir 2016-07-16
  • 打赏
  • 举报
回复
crontab 的功能我是知道的,我想知道是否还有其它方法?让这个循环一直执行……

18,829

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧