MacOS已启动WatchDB通知数据库未运行脚本

时间:2018-10-06 00:12:17

标签: bash macos plist launchd

我想每次在MacOS上收到通知时都运行一个脚本。我设置启动以查看数据库位置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
     <key>Label</key>
     <string>WatchNotifications</string>
     <key>ProgramArguments</key>
     <array>
          <string>/Users/***/Documents/***/myScript.sh</string>
     </array>
     <key>WatchPaths</key>
     <array>
           <string>/private/var/folders/***secret***/com.apple.notificationcenter/db2/</string>
     </array>
</dict>
</plist>

虽然没有运行脚本。想法?

1 个答案:

答案 0 :(得分:0)

首先:
您是否使用了终端命令chmod +x ~/Documents/***/myScript.sh

其次:
您是否知道db-wal(用于存储通知的信息)在更改后 NOT 是否被重写?
因此WatchPaths不会注意到任何变化,例如保存更改时使用 ARE 重写的TextEdit文件;遗憾的是,WatchPaths仅报告已删除或“添加”的文件,就像文件夹操作脚本所做的一样……