#!/bin/bash dflag= vflag= cflag= if (( $# < 1 )) then exit 0 fi OPTARG="" SOURCE=$1 for arg do delim="" case "$arg" in #translate --gnu-long-options to -g (short options) --description) args="${args}-d ";; --version) args="${args}-v ";; --capabilities) args="${args}-c ";; #pass through anything else *) if [ "${arg:0:1}" == "-" ] || delim="\"" then args="${args}${delim}${arg}${delim} " else OPTARG=${arg} fi esac done #Reset the positional parameters to the short options eval set -- $args while getopts "dvc" option do case $option in d) dflag=1;; v) vflag=1;; c) cflag=1;; \?) printf "unknown option: -%s\n" $OPTARG printf "Usage: %s: [--description] [--version] [--capabilities] \n" $(basename $0) exit 2 ;; esac >&2 done if [ "$dflag" ] then printf "Simple file grabber\n" exit 0 fi if [ "$vflag" ] then printf "0.2\n" exit 0 fi if [ "$cflag" ] then printf "baseline\n" exit 0 fi if [ -z "${SOURCE}" ] then echo "bla" exit 0 else if [[ $SOURCE == *http* ]]; then ##Case URL curl -s $SOURCE elif [ -f "$SOURCE" ]; then ##Case local File cat $SOURCE else printf "File not found: %s\n" $SOURCE exit 1 fi fi exit 0