Powered by SmartDoc

3.1 こんなかんじ

while [ $# -gt 0 ] ; do
    case $1 in
    -a|--auto-backup)
        auto_backup=true
        ;;
    -d|--debug-level)
        _debug_mode=true
        case $1 in
        -d)
            shift
            _debug_level=$1
            ;;
        --debug-level)
            _debug_level=${1#*=}
            ;;
        esac
        ;;
    -h)
        usage -s
        ;;
    --help)
        usage -l
        ;;
    -n|--dry-run)
        _dry_run=true
        ;;
    -[a-zA-Z][a-zA-Z]*)
__options=`echo $1 | sed -Ee 's/(.)/\1 /g' -e 's/([[:alpha:]])/-\1/g' -e \
    's/ *$//'`
        shift
        set -- ${__options} $*
        ;;
    *)
        break
        ;;
    esac
    shift
done

initialize $@

ただし,initialize

case $1 in
-*)
    msg initialize "illegal option \`$1'"
    usage -s
    ;;
esac