Adding Counter in shell script

前端 未结 2 1079
花落未央
花落未央 2021-01-30 12:50

I have below code in my shell script which will keep on sleeping if it doesn\'t finds any file. And it sleeps for half an hour but currently I don\'t have any counter like only

2条回答
  •  说谎
    说谎 (楼主)
    2021-01-30 13:04

    Try this:

    counter=0
    while true; do
      if /home/hadoop/latest/bin/hadoop fs -ls /apps/hdtech/bds/quality-rt/dt=$DATE_YEST_FORMAT2 then
           echo "Files Present" | mailx -s "File Present"  -r admin@host.com admin@host.com
           break
      elif [[ "$counter" -gt 20 ]]; then
           echo "Counter limit reached, exit script."
           exit 1
      else
           let counter++
           echo "Sleeping for another half an hour" | mailx -s "Time to Sleep Now"  -r admin@host.com admin@host.com
           sleep 1800
      fi
    done
    

    Explanation

    • break - if files are present, it will break and allow the script to process the files.
    • [[ "$counter" -gt 20 ]] - if the counter variable is greater than 20, the script will exit.
    • let counter++ - increments the counter by 1 at each pass.

提交回复
热议问题