#!/bin/bash # Simple include processor as an example of a dependency-logging command. # sip input output depoutput # Follows `include foo' at the beginning of a line. exec 3>"$3" exec >"$2" function do_read { echo "$1" >&3 [ -r "$1" ] || exit 1 while IFS='' read line; do if [[ "$line" == "include "* ]]; then do_read "${line#include }" else echo "$line" fi done <"$1" } do_read "$1"