#!/usr/dt/bin/dtksh PATH=/bin function my_getopts { # version 3.14, 03/14/2001, mwang@ml.com # my_getopts: my command options parser # key=val => KEY=VAL no perserve case # key:=VaL => KEY=VaL do perserve case # version 3.141, 03/21/2001, mwang@ml.com # added sep= option, demonstrated in example typeset PATH= SEP=: typeset -u I for i; do I=$i eval ${I%%?(:)=*}= unset ${I%%?(:)=*} case $I in *[!:]=*) eval $(IFS=$SEP; print ${I%%=*}=\"${I#*=}\") ;; *:=*) eval $(IFS=$SEP; print ${I%%:=*}=\"${i#*:=}\") ;; esac [[ $I == PARFILE:=* ]] && . $PARFILE done } my_getopts "$@" j= unset j l= unset l j=0 ISNUMBER= unset ISNUMBER while read -r i do set -- $i l=$1 if ( (( $l )) ) > /dev/null 2>&1; then j=$(print $j+$l | bc) # (( j+=$l )) ISNUMBER=Y else ISNUMBER=N fi [[ $DEBUG == Y ]] && { if [[ $ISNUMBER == Y ]]; then printf "%12d %12d\n" $l $j else printf "%12s %12d\n" $l $j fi } done print -r -- $j