#!/usr/bin/bash Tmp=/tmp/$$ Tmp0=/tmp/$$_$$ Tmp1=/tmp/$$_$$_$$ Tmp2=/tmp/$$_$$_$$_$$ Tmp3=/tmp/$$_$$_$$_$$_$$ trap 'exit 0' INT HUP QUIT TERM ALRM USR1 trap 'rm -f "$Tmp" "$Tmp0" "$Tmp1" "$Tmp2" "$Tmp3"' EXIT rm -f "$Tmp $Tmp0 $Tmp1 $Tmp2 $Tmp3" >/dev/null 2>&1; # >/dev/null 2>&1; cat "$1" | gawk ' /^source / { dq="\"" system("cat " dq $2 dq) next } { print $0 }'