Chinaunix

标题: 大侠们帮忙分析一段代码 [打印本页]

作者: 躺着看书    时间: 2008-05-30 15:35
标题: 大侠们帮忙分析一段代码
while getopts dm:n: c
do
        case $c in
        m)        MODE=${OPTARG}
                ;;
        d)        set -x        # turn debugging on
                ;;
        n)        NAME=${OPTARG%%.*}
                VERSION=${OPTARG#*.}
                MAJOR=${VERSION%.*}
                MINOR=${VERSION#*.}

                ;;
        \?|--)
                echo ${USAGE}
                exit 3
                ;;
        esac
done

红色的部分,如果这里的${OPTARG}是aa.0.1,那么取出值为NAME=aa,VERSION=0.1,MAJOR=0,MINOR=1, 但是如果${OPTARG}只是aa,那么取出值为NAME=aa,VERSION=aa,MAJOR=aa,MINOR=aa, 为什么?${OPTARG%%.*}这里的%,#,*分别起什么作用?
作者: 躺着看书    时间: 2008-05-30 15:35
BTW, 能否推荐一下这方面的资料?
作者: liaosnet    时间: 2008-05-30 15:36
标题: 回复 #1 躺着看书 的帖子
看置顶13问~~~~

http://www.chinaunix.net/forum/viewtopic.php?t=201843

[ 本帖最后由 liaosnet 于 2008-5-30 15:38 编辑 ]
作者: 躺着看书    时间: 2008-05-30 21:53
Thanks




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2