#!/bin/sh OUT="$1" IN="$2" [ -r $IN ] || exit 1; . ./$IN { echo '#!/bin/sh' echo echo "_args='$ARGS_ADD_OPTS';" cat <<_E_O_F_ while [ -n "\$1" ] do k="\$1"; shift; case "\$k" in '--') break; ;; _E_O_F_ for o in $ARGS_IGNORE_OPTS do on=`echo $o | cut -d: -f1` oa=`echo $o | cut -d: -f2` echo " '$on')"; if $oa then echo ' shift;'; fi echo ' ;;'; done for o in $ARGS_PASS_OPTS do on=`echo $o | cut -d: -f1` oa=`echo $o | cut -d: -f2` echo " '$on')"; if $oa then echo ' _args="$_args '"$on"' $1";'; echo ' shift;'; else echo ' _args="$_args '"$on"'";'; fi echo ' ;;'; done for o in $ARGS_MAP_OPTS do on=`echo $o | cut -d: -f1` oa=`echo $o | cut -d: -f2` or=`echo $o | cut -d: -f3` echo " '$on')"; if $oa then echo ' _args="$_args '"$or"' $1";'; echo ' shift;'; else echo ' _args="$_args '"$or"'";'; fi echo ' ;;'; done for o in $ARGS_DEEQ_OPTS do echo " '$o='*)"; echo ' _para=`echo "$k" | cut -d= -f2`;'; echo ' _args="$_args '"$o"' $_para";'; echo ' ;;'; done cat <<_E_O_F_ '-'*) echo "Unknown option" >&2; exit 1; ;; *) _E_O_F_ if $ARGS_PASS_NON_OPTS then echo ' _args="$_args $k";'; echo ' shift;'; else echo ' echo "Unknown option" >&2;'; echo ' exit 1;'; fi cat <<_E_O_F_ ;; esac; done _E_O_F_ if $ARGS_PASS_NON_OPTS then echo '_args="$_args $*";'; else echo 'if [ "$*" != '' ]'; echo 'then'; echo ' echo "Unknown option" >&2;'; echo ' exit 1;'; echo 'fi'; fi cat <<_E_O_F_ exec $RNAME \$_args _E_O_F_ echo echo '#ll' } > $OUT chmod a+rx $OUT exit 0; #ll