根据系统正常运行时间计算工作时间

根据系统正常运行时间计算工作时间

我知道有几种可以追踪不同任务/项目所花费时间的工具。

是否存在任何现有的工具可以非常简化工作时间跟踪。

设想:

我是一名员工,一到办公室就直接打开笔记本电脑。我午餐时间大多在 1 小时左右,但有时更少,有时更多。

大约 18:00 时,我想在控制台中输入一个命令(当然,简单的 GUI 也可以),该命令告诉我:

“1小时超负荷工作了。赶紧回家吧!(8点来的,1小时标准午休时间)。”

也许可以有一些参数

mytool-午餐 2

“还剩 0 小时。现在回家!(8:00 来,2 小时午休时间)。”

已经存在这么简单的事情了吗?

应该在 Linux、COmmandline 上运行,也许只是一个 bash 或 python 脚本。

编辑:Akira 的解决方案-谢谢!

$ mytool 2 | figlet
               _                            
  __ _ ___ | |__ ___ _ __ ___ ___   
 / _` |/ _ \ | '_ \ / _ \| '_ ` _ \ / _ \  
| (_| |(_)| | | | |(_)| | | | | | __/_
 \__,|\___/ |_| |_|\___/|_| |_| |_|\___(_)
 |___/                                      
                        __ __________ __   
  _____ _____ _ __ __| |_ _ ___ |___ /___ / / /_  
 / _ \ \ / / _ \ '__/ _` | | | |/ _ \ |_ \ |_ \| '_ \
| (_)\ V / __/ | | (_| |_| | __/ ___)|__)| (_)|
 \___/ \_/ \___|_| \__,_|\__,_|\___| |____/____/ \___/

                              _       
 ___ ___ ___ ___ _ __ __| |___   
/ __|/ _ \/ __/ _ \| '_ \ / _` / __|  
\__ \ __/ (_| (_) | | | | (_| \__ \_
|___/\___|\___\___/|_| |_|\__,_|___(_)

答案1

bash(放入你的~/.bashrc):

函数 mytool() {

    # ${1-0} 表示:取第一个参数,或假设为 0,如果
    # 没有给出参数

    MAX="$(( (8 + ${1-0}) * 3600))" # $1 包含额外的小时数
    UP=`cat /proc/uptime | sed's/\..*//'`

    如果(($UP > $MAX))
    然后
        echo "回家。已逾$(( $UP - $MAX )) 秒。"
}

就叫它这样mytool 2

或者 .. awk (只是为了好玩):

awk -v lunch=2 'BEGIN { max=(8 + lunch) * 3600;} { if ($1 > $max) print "overdue " ($1 - max) / 3600.0 " hours"; }' /proc/uptime

相关内容