| #!/bin/sh | |
| MIMFILE="Mimfile" | |
| if [ $# -ge 2 ] && [ "$1" = "-f" ] | |
| then | |
| MIMFILE="$2" | |
| shift 2 | |
| fi | |
| exec <"$MIMFILE" || exit 1 | |
| { | |
| INCASE=false | |
| while read -r REPLY | |
| do | |
| case $REPLY in | |
| *:) | |
| if ! $INCASE | |
| then | |
| printf '[ $# -eq 0 ] && set -- "%s" | |
| TARGET="$1" | |
| shift | |
| case "$TARGET" in | |
| ' "${REPLY%:}" | |
| else | |
| printf ';;\n' | |
| fi | |
| printf '%s)\n' "${REPLY%:}" | |
| INCASE=true | |
| ;; | |
| "") ;; | |
| *) printf '%s\n' "${REPLY##[ ]}";; | |
| esac | |
| done | |
| $INCASE && printf ';;\n' | |
| printf '*) | |
| echo "Unknown command $TARGET" | |
| exit 1 | |
| ;; | |
| esac | |
| ' | |
| } | sh -s "$@" |