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

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

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