Запуск сценария при изменении файла в Mac OS X

кто-нибудь знает о программе для Mac OS, которую вы можете передать имя исполняемому файлу и файлу для просмотра, чтобы он запускал исполняемый файл каждый раз, когда просматриваемый файл менялся?

Я имею в виду нечто подобное:

$ fwatch /Users/foo/doc.tex /Users/foo/run-pdflatex.sh &
  fwatch running. Listening for changes in /Users/foo/doc.tex.
$ echo "This aint no LaTeX" > doc.tex
$ fwatch: Change in /Users/foo/doc.tex detected. Running /Users/foo/run-pdflatex.sh...
20
задан Johannes
08.12.2022 11:50 Количество просмотров материала 2447
Распечатать страницу

2 ответа

вы можете настроить это с помощью launchd. В частности, необходимо использовать watchpaths введите launchd plist для поиска изменений в этом файле.

исчерпывающая информация, имеющаяся в это AFP548 статья.

хотя, похоже, он больше не находится в разработке,Lingon это приложение, предоставляющее графический интерфейс для настройки этих launchd plist архив.

EDIT:

грубо говоря, вот что вы сделаете, используя примеры путей выше. Сохраните файл с именем com.superuser.run-pdflatex.plist со следующим содержанием в ~/Library/LaunchAgents

<?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.superuser.run-pdflatex</string>
    <key>OnDemand</key>
    <true/>
    <key>Program</key>
    <string>/Users/foo/run-pdflatex.sh</string>
    <key>ProgramArguments</key>
    <array>
            <string>run-pdflatex.sh</string>
    </array>
    <key>WatchPaths</key>
    <array>
            <string>/Users/foo/doc.tex</string>
    </array>
    </dict>
</plist>

тогда вы наберете launchctl load ~/Library/LaunchAgents/com.superuser.run-pdflatex.plist в терминале, чтобы загрузить демон просмотра файлов.

выше не тестировалось, но это общая идея.

6
отвечен ghoppe 2022-12-09 19:38

вы можете сделать это в Automator. Это под папку В процесса Automator я считаю (не в Маке). Затем вы просто прикрепляете скрипт к папке, и он срабатывает каждый раз, когда файл добавляется/изменяется.

2
отвечен MDMarra 2022-12-09 21:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх