码迷,mamicode.com
首页 > 其他好文 > 详细

getopts

时间:2016-05-19 21:32:54      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:style

一、getopts 简介

  由于shell命令行的灵活性,自己编写代码判断时,复杂度会比较高。使用内部命令 getopts 可以很方便地处理命令行参数。一般格式为:

getopts “options” variable

  getopts 的设计目标是在循环中运行,每次执行循环,getopts 就检查下一个命令行参数,并判断它是否合法。即检查参数是否以 - 开头,后面跟一个包含在 options 中的字母。如果是,就把匹配的选项字母存在指定的变量 variable 中,并返回退出状态0;如果 - 后面的字母没有包含在 options 中,就在 variable 中存入一个 ,并返回退出状态0;如果命令行中已经没有参数,或者下一个参数不以 - 开头,就返回不为0的退出状态。


二、用法

getopts “a:b:” variable
    有“:”时,表示选项带参数,无参数会报错
getopts内置变量
OPTARG:选项后的参数
OPTIND:选项索引,可以理解为命令后带的参数个数,以空白位为分隔符

三、例子
  1. while getopts "a:b:" option;do
  2. case $option in
  3. a)
  4. echo a
  5. ;;
  6. b)
  7. echo b
  8. ;;
  9. esac
  10. done
  11. echo $1
  12. echo $OPTIND
  13. shift $[$OPTIND-1]
  14. echo $1
此处shift将后面的参数移除,只剩最后一个,方便$1的使用。







getopts

标签:style

原文地址:http://hiyang.blog.51cto.com/10728919/1775151

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!