首先设置参数的默认值以及一些环境变量。
export version="v1.0.0" export output=""
这里使用getopt采集命令行的参数。
ARGS=$(getopt -o hvo: --long "help|version|output": "shell" -- "$@")
这里循环解析每个命中的参数,并加以处理。
eval set -- "$ARGS" while true; do case "$1" in -h|--help) echo "Usage: $0 [OPTIONS]" echo " -h, --help Print help information" echo " -v, --version Print version information" echo " -o, --output Set output file path" exit 0 ;; -v|--version) echo "$version" exit 0 ;; -o|--output) output="$2" if [ $# -ne 2 ]; then echo "the option 'output' must be given a value" exit 1 fi shift 2 ;; --) shift 2 ;; *) break esac done