Chinaunix首页 | 论坛 | 博客
  • 博客访问: 376266
  • 博文数量: 96
  • 博客积分: 647
  • 博客等级: 上士
  • 技术积分: 490
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-29 22:15
文章分类
文章存档

2015年(1)

2014年(10)

2013年(26)

2012年(59)

我的朋友

分类: LINUX

2012-09-30 15:47:42

1.getopts用法
  获取多个命令行参数。举例说明:
#!/bin/bash
#getopts
ALL=false
HELP=false
FILE=false
VERBOSE=false
while getopts ahfvc: OPTION   #将ahfvc依次传给OPTION c后面的:表示-c时需传入参数
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)
      VERBOS=false
      echo "VERBOSE IS ${VERBOSE}"
      ;
    c)
      c=${OPTARG}
      echo "value is $c"
      ;
    \?)
      echo "`basename $0` -[a h f v] -[c value] file"
      ;
    esac
done
输入./getopts -a   输出:ALL IS true   #执行case a模式的命令
输入./getopts -h   输出:HLEP IS true #执行case h模式的命令
输入./getopts -f   输出:FILE IS true   #执行case f模式的命令
输入./getopts -v   输出:VERBOSE IS true   #执行case v模式的命令
输入./getopts -c   提示错误:需要传入参数 #c后面有“:”所以需传参数
输入./getopts -c hello 输出:c value is hello     #执行case c模式的命令
输入./getopts -b   输出:basename ./getopts -[a h f v] -[c value] file   #其他情况 

 
尊重原创!
阅读(1400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~