#! /bin/sh case "$1" in (-*) : ;; # ignore all options ('') { for directory in `echo "$NOISE_PATH" | tr : \ ` ; do for module in "$directory"/* ; do echo `basename "$module"` `$module --help` done 2>/dev/null done ## print all documented built-in commands sed -rn 's:^noise_([a-z]+)\(\) \{ # (.+)?$:\1 \2:p' "$NOISE" } | sort | uniq | sed -rn ' $s/$/[m/ s:^([a-z]+) (.+):[35mtype [32m/\1[35m to \2:p' ;; (*) ## call for directory in `echo "$NOISE_PATH" | tr : \ ` ; do for module in "$directory/$1" ; do if test -e $module ; then shift exec $module --help --verbose "$@" 2>&1 fi done done esac