#!/bin/sh -xv Execute () { echo -e "Executing $@ ..."; $@; } Execute "./getopts.sh -P 'hello world'" + Execute ./getopts.sh -P 'hello world' + echo -e Executing ./getopts.sh -P 'hello world' ... Executing ./getopts.sh -P 'hello world' ... + ./getopts.sh -P 'hello world' #!/bin/sh -xv while getopts "P:" i do case "$i" in P) VAR=$OPTARG; continue;; *) echo $usage; exit 1;; esac done + getopts P: i + VAR='hello + continue + getopts P: i echo $VAR + echo 'hello 'hello #./getopts.sh -P 'hello world'