背景
最近部门检查工时及其繁琐,而考勤只有第二天才能出来,系统做得不够友好,工时涉及到一个计算,而工时填报只能在下班以后操作,每次都需要自己去算一遍无疑很低效,很是影响下班的效率,顺手撸了一个可交互的shell
脚本配合Alfred
完美运行,遂成此篇.
执行效果如图:
方案
工时计算规则:
工时 = 下班时间 - 上班时间 - 中午休息1.5小时
关于时间这种两位数的计算其实并不难,但这是一个体验问题,心算能力强的算我没说,懒就要懒到极致~
脚本太过简单,无非就是加减乘除的数学运算~
目前我想到了有两种方案
- ① 秒级时间戳的差值 / 3600.0, 再减去1.5 即可
- ② 上班和下班时间点均转为小时数相减, 再减去1.5 即可
代码
这里我采用的是②
脚本如下:
1 | # /bin/bash |
脚本有了,如何去使用呢? 这可能是一个问题,总不能每次都打开终端去执行吧
执行
shell是可以转成可执行程序的,可以执行如下代码试试:
1 | chmod a+x work.sh |
执行之后就可以双击打开就可以运行该程序
体验优化
经过一番折腾,以上代码能够正确运行,还有一点点瑕疵就是打开之后会有一个终端执行窗口在桌面上,这个如何去优化它呢?
Alfred神器来帮忙
- 1 首先将脚本放到一个目录下
- 2
Alfred
新建一个workflow
,第一个动作就是启动这个workflow的操作,看个人喜好keyword或者hotkey - 3 下一步连接
Run Script
动作,点开选择bash或zsh,然后命令是cd 到你的脚本目录下执行脚本即可
基本操作步骤如下图: