getopt&&getopts
1.getopt
- 方法1:
- #!/bin/bash
- A=($(getopt -o a[:]b[:] -l a,b -- "$@"))
- for ((i = 0; i < ${#A[@]}; i++)) {
- eval opt=${A[$i]}
- case $opt in
- -a|--a)
- echo "aa"
- ;;
- --)
- break
- ;;
- esac
- }
- 方法2
- #!/bin/bash
- A=($(getopt -o a[:]b[:] -l a,b -- "$@"))
- eval set -- "$A"
- while true
- do
- case "$1" in
- -a|--a)
- echo "aa"
- break
- ;;
- -b|--b)
- echo "bbb"
- ;;
- --)
- break
- ;;
- esac
- done
2.getopts
- while getopts a:dl OPTS
- do
- case ${OPTS} in
- a)
- NEWDIR=${OPTARG}
- NEWGAME
- ;;
- d)
- DGS=${OPTARG}
- DEL
- ;;
- l)
- SL
- ;;
- *)
- echo "您的输入有误,请 example.sh -h 查看帮助"
- ;;
- esac
- done