Есть ли такая команда, как «смотреть» или «inotifywait» на Mac? - PullRequest
253 голосов
/ 04 октября 2009

Я хочу посмотреть папку на моем Mac (Snow Leopard), а затем выполнить скрипт (присвоив ему имя файла, который был только что перемещен в папку (как параметр ... x.sh "filename")).

У меня есть скрипт, написанный на bash (x.sh), который будет перемещать некоторые файлы и другие данные при вводе $ 1. Мне просто нужен OSX, чтобы дать мне имя файла, когда новые файлы / папки перемещаются / создаются в каталог .

Любая такая команда?

Ответы [ 13 ]

2 голосов
/ 04 октября 2009

Apple OSX Действия с папкой позволяют автоматизировать задачи на основе действий, выполненных над папкой.

0 голосов
/ 02 февраля 2019

В итоге я сделал это для macOS. Я уверен, что это ужасно во многих отношениях:

#!/bin/sh
# watchAndRun
if [ $# -ne 2 ]; then
    echo "Use like this:"
    echo "   $0 filename-to-watch command-to-run"
    exit 1
fi
if which fswatch >/dev/null; then
    echo "Watching $1 and will run $2"
    while true; do fswatch --one-event $1 >/dev/null && $2; done
else
    echo "You might need to run: brew install fswatch"
fi
0 голосов
/ 11 ноября 2013

Вот простая однострочная альтернатива для пользователей, у которых нет команды watch, которые хотят выполнять команду каждые 3 секунды:

while :; do your-command; sleep 3; done

Это бесконечный цикл, который в основном аналогичен следующему:

watch -n3 your-command

...