Chinaunix首页 | 论坛 | 博客
  • 博客访问: 657911
  • 博文数量: 135
  • 博客积分: 5217
  • 博客等级: 大校
  • 技术积分: 1289
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-05 17:36
文章分类

全部博文(135)

文章存档

2016年(1)

2012年(5)

2011年(15)

2010年(63)

2009年(51)

分类: LINUX

2010-04-04 10:19:39


   Linux的Bourne Shell中提供了一条获取和处理命令行选项的语句,即getopts语句。该语句的格式为:
  getopts option_string variable

  其中option_string中包含一个有效的单字符选项。若getopts命令在命令行中发现了连字符,那么它
将用连字符后面的字符同 option_string相比较。若有匹配,则把变量variable的值设为该选项。若无匹
配,则variable设为?。当getopts发现连字 符后面没有字符,会返回一个非零的状态值。Shell程序中可以利用getopts的返回值建立一个循环。

  下面代码说明了date命令中怎么使用getopts命令处理各种选项,该程序除了完成unix的标准命令date的功能外,还增加了许多新的选项。
 
 #新的date程序
 

#!/bin/sh

if [ $# -lt 1 ];then

  date
else
  while getopts mdyDHMSTJjwahr OPTION
  do
    case $OPTION in
      m)date '+%m';;
      d)date '+%d';;
      y)date '+%y';;
      D)date '+%D';;
      H)date '+%H';;
      M)date '+%M';;
      S)date '+%S';;
      T)date '+%T';;
      j)date '+%j';;
      J)date '+%y%j';;
      w)date '+%w';;
      a)date '+%a';;
      h)date '+%h';;
      r)date '+%r';;
      \?)echo "无效的选项!$OPTION";;
    esac
  done
fi



阅读(718) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~