#!/bin/bash
while getopts i:vh name
do
    case $name in
      i) opt=1
         echo $OPTARG;;
      v) opt=2
         echo 2;;
      h) opt=3
         echo 3;;
      *) echo "Invalid arg -$OPTARG";;
    esac
done
getopts一共有两个参数,第一个是-i这样的选项,第二个参数是 hello这样的参数。
选项之间可以通过冒号:进行分隔,也可以直接相连接,:表示选项后面必须带有参数,如果没有则不需要添加参数
原文:http://www.cnblogs.com/woniu4/p/7440349.html