shell 获取当前目录下的jar文件

1、示例

function getDir() {
    for item in `ls $1`
    do
    fileName=$1"/"$item
    if [ -d $fileName ]
    then
        echo $fileName"是目录"
        #getDir $fileName
    else
        echo $fileName"不是目录"
        echoFile $fileName
    fi
    done
}

function echoFile() {
    fileName=$1
    echo ${fileName##*.}
    if [ ! ${fileName##*.} = jar ]
    then
      echo $1"不是jar包"
    else 
      echo $1"是jar包"
    fi
}

#在当前目录下查找sh脚本
for name in `find . -name *.sh` do echo ">>>>>>>>>>>>>>>$name" if [ "${name##*.}"x = "sh"x ] then echo "是脚本" fi done dir="/home/fjw" getDir $dir

2、附注

给定路径:

path=/home/test.tar.gz 
echo ${path%/*} # 结果为/home 等效 dirname path
echo ${path##*/} # 结果为test.tar.gz 等效basename path

文件

file=${path##*/} # file为test.tar.gz
echo ${FILE%%.*} # 结果为test
echo ${FILE%.*} # 结果为test.tar
echo ${FILE##*.} # 结果为gz
echo ${FILE#*.} # 结果为tar.gz

说明:

取目录部分:${path%/*} (类似 dirname "$path")
取文件名称:file=${path##*/}(类似 basename "$path")
取最短基本名称:${file%%.*}
取最长基本名称:${file%.*}
取最短扩展名:${file##*.} 或者 ${path##*.}
取最长扩展名:${file#*.} 或者 ${path#*.}

 

posted @ 2019-09-05 10:05  花拾夕  阅读(3765)  评论(0编辑  收藏  举报