Skip to content

Instantly share code, notes, and snippets.

@jehiah
Created March 4, 2011 16:56
Show Gist options
  • Save jehiah/855086 to your computer and use it in GitHub Desktop.
Save jehiah/855086 to your computer and use it in GitHub Desktop.

Revisions

  1. jehiah created this gist Mar 4, 2011.
    49 changes: 49 additions & 0 deletions simple_args_parsing.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,49 @@
    #!/bin/sh

    #
    # a simple way to parse shell script arguments
    #
    # please edit and use to your hearts content
    #


    ENVIRONMENT="dev"
    DB_PATH="/data/db"

    function usage()
    {
    echo "if this was a real script you would see something useful here"
    echo ""
    echo "./simple_args_parsing.sh"
    echo "\t-h --help"
    echo "\t--environment=$ENVIRONMENT"
    echo "\t--db-path=$DB_PATH"
    echo ""
    }

    while [ "$1" != "" ]; do
    PARAM=`echo $1 | awk -F= '{print $1}'`
    VALUE=`echo $1 | awk -F= '{print $2}'`
    case $PARAM in
    -h | --help)
    usage
    exit
    ;;
    --environment)
    ENVIRONMENT=$VALUE
    ;;
    --db-path)
    DB_PATH=$VALUE
    ;;
    *)
    echo "ERROR: unknown parameter \"$PARAM\""
    usage
    exit 1
    ;;
    esac
    shift
    done


    echo "ENVIRONMENT is $ENVIRONMENT";
    echo "DB_PATH is $DB_PATH";