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

时间:2024-04-15 09:16:41

1、示例

function getDir() {
for item in `ls $`
do
fileName=$"/"$item
if [ -d $fileName ]
then
echo $fileName"是目录"
#getDir $fileName
else
echo $fileName"不是目录"
echoFile $fileName
fi
done
} function echoFile() {
fileName=$
echo ${fileName##*.}
if [ ! ${fileName##*.} = jar ]
then
  echo $"不是jar包"
else
  echo $"是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#*.}