#!/usr/bin/env bash # Use python's argparse module in shell scripts # # The function `argparse` parses its arguments using # argparse.ArgumentParser; the parser is defined in the function's # stdin. # # Executing ``argparse.bash`` (as opposed to sourcing it) prints a # script template. # # https://github.com/nhoffman/argparse-bash # MIT License - Copyright (c) 2015 Noah Hoffman argparse(){ argparser=$(mktemp 2>/dev/null || mktemp -t argparser) cat > "$argparser" <> "$argparser" cat >> "$argparser" < /dev/null; then eval $(python "$argparser" "$@") retval=0 else python "$argparser" "$@" retval=1 fi rm "$argparser" return $retval } # print a script template when this script is executed if [[ $0 == *argparse.bash ]]; then cat <