Пример использования inotifywait
:
Предположим, я хочу запускать rails test
каждый раз, когда я изменяю соответствующий файл.
1. Составьте список соответствующих файлов, которые вы хотите просмотреть:
Вы можете сделать это вручную, но я считаю ack
очень полезным для составления этого списка.
ack --type-add=rails:ext:rb,erb --rails -f > Inotifyfile
2. Попросите inotifywait
сделать работу
while inotifywait --fromfile Inotifyfile; do rails test; done
Вот и все!
ПРИМЕЧАНИЕ. Если вы используете Vagrant для запуска кода на виртуальной машине, может оказаться полезным расширение mhallin / vagrant-notify-forwarder .
UPDATE:
Еще лучше сделать alias
и избавиться от файла:
alias rtest="while inotifywait $(ack --type-add=rails:ext:rb,erb --rails -f | tr \\n \ ); do rails test; done"