V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lyqiang
V2EX  ›  分享创造

使用 Shell 脚本在 MacOS 上做一个简易的休息提醒

  •  
  •   lyqiang · 1 天前 · 468 次点击
    好多提醒软件设置时间都是付费,就搞了一个简单脚本,每隔 30 分钟提醒休息一下,需要的可以试试。
    也可以改造成其它摸鱼软件,比如后台刷价格,满足条件之后提醒你该卖出了。

    第一步:写脚本,保存为 rest_reminder.sh

    #!/bin/bash

    # 循环执行提醒任务
    while true; do
    # 使用 osascript 命令弹出消息框
    osascript -e 'display alert "休息一下啦!" message "已经工作 30 分钟啦,建议休息 2 分钟哦。" buttons {"好的"} default button 1'

    # 休眠 30 分钟( 30 * 60 秒)
    sleep 1800

    done


    第二步:设置执行权限
    chmod +x ./rest_reminder.sh

    第三步:后台运行
    nohup ./rest_reminder.sh &
    9 条回复    2024-11-23 14:03:01 +08:00
    xibobo
        1
    xibobo  
       1 天前
    666
    xibobo
        2
    xibobo  
       1 天前
    还可以深挖一下,搞个 conf 文件,定义各种提醒 喝水 上厕所,执行间隔等等
    然后 github 发布一下
    betabao
        3
    betabao  
       1 天前
    看看这个 app: https://getjustfocus.com/
    aduo
        4
    aduo  
       1 天前
    https://github.com/ivoronin/TomatoBar 开源番茄时钟,你值得拥有
    kukakalxh
        5
    kukakalxh  
       1 天前   ❤️ 1
    不到 30 分钟我的手就会自动摸手机提醒我该摸鱼了
    lyqiang
        6
    lyqiang  
    OP
       1 天前
    @kukakalxh #5 还得是你
    KentY
        7
    KentY  
       19 小时 28 分钟前
    作为玩具, while true sleep is fine.
    如果复杂点, robust 点, 请考虑 cron.
    必要的话引入 flock. 比如你定时 30min 运行一个什么 task, 然后你需要点交互(点击按钮比如)来结束这个 task 进程, 但是, 你跑出去开会去了, 跟同事吃午饭去了, 或者蹲坑去玩手机摸鱼了... 无法结束这个进程的时候....
    liulicaixiao
        8
    liulicaixiao  
       10 小时 27 分钟前
    @kukakalxh 我不一样,放下手机那一刻我就开始想摸手机
    lyqiang
        9
    lyqiang  
    OP
       6 小时 30 分钟前
    @KentY 手动点赞
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2696 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:33 · PVG 20:33 · LAX 04:33 · JFK 07:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.