#!/bin/env bash if [ $# -lt 2 ]; then echo "Usage:" echo " autoreload directory command" exit 1 fi last_reload=`date +%s` inotifywait -mrq -e create,delete,attrib,close_write,move --exclude '(/awx_devel/awx/ui|/awx_devel/awx/.*/tests)' $1 | while read directory action file; do this_reload=`date +%s` since_last=$((this_reload-last_reload)) if [[ "$file" =~ ^[^.].*\.py$ ]] && [[ "$since_last" -gt 1 ]]; then echo "File changed: $file" echo "Running command: $2" eval $2 last_reload=`date +%s` fi done