6

У меня есть папка, в которую я хотел бы добавить действие папки. Действие прекрасно работает, когда файл добавляется на верхний уровень. Но когда файл добавляется в подпапки, действие не включается. Есть ли способ убедиться, что действие папки включено при добавлении файла в любую из его подпапок?

1 ответ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 загружает список.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .