一、getopts 短选项
#!/bin/bash while getopts ":pq:" OPTNAME do case "${OPTNAME}" in "p") echo "get ${OPTNAME} option" ;; "q") echo "Option ${OPTNAME} has value ${OPTARG}" ;; "?") echo "UnKnown Option ${OPTARG}" ;; ":") echo "No argument value for option ${OPTARG}" ;; "*") echo "UnKnow error while processing options" ;; esac echo "OPTIND is now ${OPTIND}" done
TEST: #sh opt1.sh -p get p option OPTIND is now 2 #sh opt1.sh -q No argument value for option q OPTIND is now 2 #sh opt1.sh -q 123 Option q has value 123 OPTIND is now 3 #sh opt1.sh -q 123 -a Option q has value 123 OPTIND is now 3 UnKnown Option a OPTIND is now 4
二、getopt 长短选项
三、$@