Chinaunix

标题: 帮我看一下这个shell 谢谢各位大哥了 [打印本页]

作者: lingg2002    时间: 2004-05-28 20:02
标题: 帮我看一下这个shell 谢谢各位大哥了
if [ ${1##*.} = bz2 ] ; then
        TEMP=${1%.*}
        if [ ${TEMP##*.} = tar ] ; then
                tar jxvf $1
                UNPACK=$?
                echo This is a tar.bz2 package
        else
                bunzip2 $1
                UNPACK=$?
                echo This is a bz2 package
        fi
fi

这里${1##*.} 和${1%.*}可以取到文件名和后缀.哪位老大能够给我讲讲这2个的语法啊
作者: HonestQiao    时间: 2004-05-28 20:30
标题: 帮我看一下这个shell 谢谢各位大哥了
${1##*.} 匹配文件名
${1%.*}  匹配后缀

看看正则表达式就可以了阿
作者: lingg2002    时间: 2004-05-28 21:14
标题: 帮我看一下这个shell 谢谢各位大哥了
这个在man bash里面看到了.##和#的最长匹配和最短匹配怎么分别啊.能不能举个例子
作者: 越走越远    时间: 2004-05-28 21:17
标题: 帮我看一下这个shell 谢谢各位大哥了
小意见
”$“是有替代概念的
作者: waker    时间: 2004-05-28 21:25
标题: 帮我看一下这个shell 谢谢各位大哥了
http://www-900.ibm.com/developerWorks/cn/linux/shell/bash/bash-1/index.shtml

里面有比较详细的解说




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