У меня есть папка, в которую я хотел бы добавить действие папки. Действие прекрасно работает, когда файл добавляется на верхний уровень. Но когда файл добавляется в подпапки, действие не включается. Есть ли способ убедиться, что действие папки включено при добавлении файла в любую из его подпапок?
1 ответ
1
В launchd есть функция watchpaths, которая может запускать скрипт .sh или что угодно, когда происходят изменения.
В зависимости от требований к безопасности путей вы хотите отслеживать и когда вы хотели бы контролировать (при входе или всегда?); определяет, где вы размещаете список.
~/Library/LaunchAgents Per-user agents provided by the user.
/Library/LaunchAgents Per-user agents provided by the administrator.
/Library/LaunchDaemons System-wide daemons provided by the administrator.
/System/Library/LaunchAgents Per-user agents provided by Mac OS X.
/System/Library/LaunchDaemons System-wide daemons provided by Mac OS X.
Пример: ~/Library/LaunchAgents/com.tellemewhen.plist
<?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>com.tellemewhen.plist</string>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>/PATH/TO/YOURSCIPTTORUN.sh</string>
<key>ProgramArguments</key>
<array>
<string></string>
</array>
<key>WatchPaths</key>
<array>
<string>/path/to/watch</string>
</array>
</dict>
</plist>
launchctl load ~/Library/LaunchAgents/com.tellemewhen.plist
загружает список.