时至今日、我才知道一个比较新鲜的东西
叫做getopt() 这是一个linux的内置的命令行参数接受的东西
还有就是他的兄弟getopt_long()
曾经天真的我一直以为要手写接收参数的,好悲哀
贴一个例子

root@lp:~/pwb/tmp# cat tmp.sh 
#!/bin/sh
.  /etc/plus.lib
while getopts ab:c:: ARGS
do
    case $ARGS in
    a)
        echo "a"  ;;
    b)
        b=$OPTARG
        echo $b  ;;
    c)
        c=$OPTARG
        echo $c    ;;
    *)
        exit 1
    esac
done
root@lp:~/pwb/tmp# sh tmp.sh -ab asdasf -casfasgdgjfg
a
asdasf
asfasgdgjfg

如果一个单个字符后有一个:那么就说明它这个选项后面需要接一个参数
而且这个参数事需要用一个空格隔开
如果有两个冒号的话,就是选项和参数之间不需要间隔、必须紧紧贴一块
如果没有冒号的话、那就不需要参数、就是这样
很简单把
如果需要长选项的话就自己搞了
我目前还不会、等我会了一定把这个补上
刚才看了一个博客
有人是这样弄得

while [ -n "$1" ]
do
    case $1 in
    -i|--ip)    do some thing;shift 2;;
    ..
    ..
    esac
done

我感觉这样也不错、也可以达到目的、今天就总结这么些把
挺好的。