1. Mac系统消息自定义发送方案解析
在MacOS系统中,原生并没有提供直接发送系统级通知消息的功能,但通过组合系统自带工具和命令行技巧,我们可以实现类似Windows系统"msg *"命令的效果。这个需求常见于以下场景:
- 局域网内多台Mac设备间的简易通讯
- 自动化脚本执行完成后的状态提醒
- 需要引起用户立即注意的重要事件通知
实现原理主要依赖两个核心组件:
- AppleScript的消息弹窗能力
- Terminal命令行与osascript的桥接
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础实现方案
2.1 单次消息发送
最简单的实现方式是使用osascript执行AppleScript代码:
bash复制osascript -e 'display notification "您的存储空间即将用尽" with title "系统提醒"'
参数说明:
display notification:指定通知类型with title:设置通知标题(可选)- 第二个字符串参数是消息正文
2.2 带按钮交互的增强版
如果需要用户确认操作,可以使用dialog形式:
bash复制osascript -e 'display dialog "确定要执行清理操作吗?" buttons {"取消","确定"} default button "确定"'
执行后会返回button returned:确定或button returned:取消,可以通过管道传递给其他命令实现条件判断。
3. 高级应用技巧
3.1 定时发送消息
结合launchd实现定时提醒:
- 创建plist配置文件:
xml复制<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.reminder</string>
<key>Progr
