Processing shell program arguments

Method 1: Without using getopts

while [[ $# > 1 ]]
do
key="$1"

case $key in
    -u|--user)
    _USER="$2"
    shift # past argument
    ;;
    -s|--server)
    _SERVER="$2"
    shift # past argument
    ;;
    *)
        # unknown option
        printf "Usage: %s: [-s <server> -u <user name>]\n" $0
        exit 2
    ;;
esac
shift # past argument or value
done

 

Method 2: Using getopts

while getopts "q:" opt; do
case $opt in
    u) _USER=$OPTARG ;;
    s) _SERVER=$OPTARG  ;;
    \?) 
        # unknown option
        printf "Usage: %s: [-s <server> -u <user name>]\n" $0
        exit 2
     ;;
esac
done

 

 

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *