Simple Reloading Server in Bash
Tuesday, August 5th 2014
It’s often extremely useful to have a server that automatically reloads when any of the source files change. Grunt is commonly used for this, but in some cases that is overkill - a simple bash script will suffice. The script below uses Python 2 to start the server and inotify-utils to wait on changes in a directory.
#!/bin/sh set -e # Create site dir if it does not exist mkdir -p site # Python server cd site python -m SimpleHTTPServer & cd .. # Kill python server on exit trap "exit" INT TERM trap "kill 0" EXIT while true; do echo "Building site..." sass theme/styles.scss:theme/styles.css python2 buildsite.py echo "Waiting for changes..." inotifywait -e modify -r . done