Skip to content

Instantly share code, notes, and snippets.

@qinshulei
Created October 22, 2014 06:53
Show Gist options
  • Save qinshulei/ccfc702d25368a87c479 to your computer and use it in GitHub Desktop.
Save qinshulei/ccfc702d25368a87c479 to your computer and use it in GitHub Desktop.
bash-getopts
#!/bin/sh
# A POSIX variable
OPTIND=1 # Reset in case getopts has been used previously in the shell.
# Initialize our own variables:
output_file=""
verbose=0
while getopts "h?vf:" opt; do
case "$opt" in
h|\?)
show_help
exit 0
;;
v) verbose=1
;;
f) output_file=$OPTARG
;;
esac
done
shift $((OPTIND-1))
[ "$1" = "--" ] && shift
echo "verbose=$verbose, output_file='$output_file', Leftovers: $@"
# End of file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment