#!/bin/sh

offWorkTime="19:00:00"
offWorkHour=${offWorkTime::}
offWorkMinute=${offWorkTime::}
offWorkSecond=${offWorkTime::} currentTime=`TZ='Asia/Hong_Kong' date +%H:%M:%S`
currentHour=${currentTime::}
currentMinute=${currentTime::}
currentSecond=${currentTime::} second=$((offWorkSecond - currentSecond))
if [[ $second -lt 0 ]]
then
  second=$((second + 60))
  offWorkMinute=$((offWorkMinute - 1))
  if [[ $offWorkMinute -lt 0 ]]
  then
    offWorkMinute=$((offWorkMinute + 60))
    offWorkHour=$((offWorkHour - 1))
  fi
fi minute=$((offWorkMinute - currentMinute))
if [[ $minute -lt 0 ]]
then
  minute=$((minute + 60))
  offWorkHour=$((offWorkHour - 1))
fi hour=$((offWorkHour - currentHour)) while true
do
  second=$((second - 1))
  if [[ $second -lt 0 ]]
  then
    second=$((second + 60))
    minute=$((minute - 1))
    if [[ $minute -lt 0 ]]
    then
      minute=$((minute + 60))
      hour=$((hour - 1))
    fi
  fi   if [[ $second -lt 10 ]]
  then
    secondStr="0$second"
  else
    secondStr="$second"
  fi   if [[ $minute -lt 10 ]]
  then
    minuteStr="0$minute"
  else
    minuteStr="$minute"
  fi   if [[ $hour -lt 10 ]]
  then
    hourStr="0$hour"
  else
    hourStr="$hour"
  fi   tput cup 0 0
  tput civis
  echo $(tput setaf 1; tput setab 6; tput bold)"offworkTime: $hourStr:$minuteStr:$secondStr"$(tput sgr0)   if [[ $hour -eq 0 && $minute -eq 0 && $second -eq 0 ]]
  then
    break
  fi   sleep 1s
done

shell倒计时下班时间的更多相关文章

  1. js-------》(小效果)实现倒计时及时间对象

    js实现倒计时及时间对象 JS实现倒计时效果代码如下: 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset ...

  2. linux在shell中获取时间

    linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...

  3. shell中的时间值提取(date)

    shell中的时间值提取(date) 方法1 # date +%F # date +%T # cat time.sh #!/bin/bash DATE=`date +%F | sed 's/-//g' ...

  4. Shell脚本中时间处理

    Shell脚本中时间处理 1.脚本内容 #!/bin/bash #环境变量 #设置环境变量和sql文件格式相符 source /etc/profileexport LD_LIBRARY_PATH=&q ...

  5. js实现倒计时及时间对象

    JS实现倒计时效果代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> ...

  6. linux在shell date获取时间的相关操作

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...

  7. shell脚本-获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...

  8. 【转】linux在shell中获取时间 date巧用

    echo `date +%Y-%m-%d" %H:%M:%S"` 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 date1=$(date --date ...

  9. shell中获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...

随机推荐

  1. SQL_2008安装教程(完整版)

    Win 7 win xp系统中SQL2008安装注意事项一:SQL2008 镜像下载地址 http://download.microsoft.com/download/4/C/4/4C402E48-0 ...

  2. cf 811c Vladik and Memorable Trip

    原题链接:http://codeforces.com/contest/811/problem/C 题意:将数组中的连续数字连成若干个“线段”(或者不连),其实就是区间.区间必须满足对于其中的任意数字, ...

  3. 【CF1257B】Magic Stick【思维】

    题意:每次可以对a进行两种操作,1:如果是偶数,则变成3*a/2:2:变成a-1 显然当a=1时,b只能为1 a=2或3时,b只能为123 a>3时,b可以为任意数 代码: #include&l ...

  4. 用闭包解决 js 循环中函数变量暂存问题

    需求:有一个数组,根据数组的值渲染对应的数字div,单击对应的div 在控制台打印对应的数字.如点击1,控制台打印1. 问题: 不管点击哪个值 打出来都是4 代码如下 <!DOCTYPE htm ...

  5. vue 中使用scss

    1.下载 npm install --save-dev sass-loader npm install --save-dev node-sass npm install sass-loader --s ...

  6. CF 717A Festival Organization——斯特林数+递推求通项+扩域

    题目:http://codeforces.com/contest/717/problem/A 是 BJOI2019 勘破神机 的弱化版. 令 \( g[i] \) 表示长为 i .以 1 结尾的方案数 ...

  7. Outlets

    Outlets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  8. junit中配置log4j日志

    在对项目单元测试的时候,有时候会使用log4j来打印日志,这个时候需要对log4j进行配置. 声明和继承SpringJUnit4ClassRunner类,在这个类中对log4j的配置文件进行加载. p ...

  9. 6105 - deauth after EAPOL key exchange sequence

    wifi无法连接公司的网络 Warning Error in Event Log - deauth after EAPOL key exchange sequence https://forums.i ...

  10. 部署Jenkins完整记录

    Jenkins通过脚本任务触发,实现代码的自动化分发,是CI持续化集成环境中不可缺少的一个环节.下面对Jenkins环境的部署做一记录.-------------------------------- ...