Shell编程之getopts指定变量取值

有必要在脚本中指定命令行选项取值。getopts提供了一种方式,即在option_string中将一个冒号放在选项后,例如:

getopts abcsd: OPTION

其中abcs可以不加实际参数值传递,而选项d必须要带参数,变量OPTARG保存该值,变量OPTIND则是保存存储原$*中下一个在处理的元素位置。

#!/bin/sh
ALL=false
HELP=false
FILE=false
VERBOSE=false
COPIES=0

while getopts ":ahfv:c" OPTION
do
 case $OPTION in
  a) ALL=true
   echo "ALL is $ALL"
   ;;
  h)HELP=true
   echo "HELP is $HELP"

   ;;
  f)FILE=true
   echo "FILE is $FILE"
   ;;
  v)VERBOSE=true
   echo "VERBOSE is $VERBOSE"
   ;;
  c)COPIES=$OPTARG
   echo "COPIES is $OPTARG"
   echo $OPTARG
   ;;
  \?) #usage statement
   echo "`basename $0` -[a h f v] -[c value] file" >&2
   exit 1
   ;;
 esac
done


 

你可能感兴趣的:(Shell编程之getopts指定变量取值)