mac可在连接公司wifi时自动关机:先确认ssid全称(含大小写),编写脚本比对当前网络,匹配则执行shutdown;再用launchd每5分钟轮询,仅在指定ssid下触发关机。

Mac需要在连接到公司WiFi时自动关机,避免下班后忘记关机耗电,但回家连自家WiFi时不能触发关机。
确认当前网络SSID名称
点击屏幕右上角Wi-Fi图标 → 在下拉菜单中查看已连接的网络名称(如“Office-WiFi-5G”),这个名称必须完全一致,包括大小写、空格和连字符,【大小写错误会导致后续脚本完全不生效】。
打开终端,输入命令:networksetup -getairportnetwork en0,回车后会显示类似“Current Wi-Fi Network: Office-WiFi-5G”的输出,复制引号内的完整SSID备用。
编写网络感知关机脚本
打开“文本编辑”,切换到纯文本模式(格式 → 使纯文本),粘贴以下内容:
#!/bin/bash<br>SSID=$(networksetup -getairportnetwork en0 | sed 's/Current Wi-Fi Network: //')<br>if [ "$SSID" = "Office-WiFi-5G" ]; then<br> shutdown -h now<br>fi
把其中的 Office-WiFi-5G 替换成你上一步确认的真实SSID。注意:不要加引号,不要多空格,不能换行。
保存为文件,命名为 ssid-shutdown.sh,位置建议放在 ~/Documents/ 下,编码选“UTF-8”,格式选“纯文本”。
赋予脚本执行权限并测试
打开终端,执行:chmod +x ~/Documents/ssid-shutdown.sh。
手动运行一次测试:~/Documents/ssid-shutdown.sh。如果当前连的是目标SSID,Mac会立即关机;如果不是,则无任何反应——这是正常表现。
【务必先断开目标WiFi再测试,否则可能误关机】。
用launchd设置后台常驻监听
第一步:创建plist配置文件。在终端中执行:nano ~/Library/LaunchAgents/local.ssid.shutdown.plist。
第二步:粘贴以下内容(注意替换路径):
<?xml version="1.0" encoding="UTF-8"?><br><br><plist version="1.0"><br><dict><br> <key>Label</key><br> <string>local.ssid.shutdown</string><br> <key>ProgramArguments</key><br> <array><br> <string>/bin/bash</string><br> <string>/Users/你的用户名/Documents/ssid-shutdown.sh</string><br> </array><br> <key>RunAtLoad</key><br> <true></true><br> <key>StartInterval</key><br> <integer>300</integer><br></dict><br></plist>
第三步:把 /Users/你的用户名/ 换成你实际的用户主目录路径(终端中输入 echo $HOME 可查看),保存退出(Ctrl+O → 回车 → Ctrl+X)。
第四步:加载任务:launchctl load ~/Library/LaunchAgents/local.ssid.shutdown.plist。此后脚本每5分钟检查一次当前SSID,匹配即关机。











