if [ -n $FOLDER_PATH ]; then #list=`find $FOLDER_PATH | grep "jpg"` if [ -n "$INCLUDE_FILE_TYPE" ]; then echo"查找的文件后缀为:$INCLUDE_FILE_TYPE." list=`find $FOLDER_PATH -type f -name "*.$INCLUDE_FILE_TYPE"` elif [ -n "$EXCLUDE_FILE_TYPE" ]; then echo"查找文件后缀不是:$EXCLUDE_FILE_TYPE 的文件" list=`find $FOLDER_PATH -type f ! -name "*.$EXCLUDE_FILE_TYPE"` fi
for i in$list do # echo $i fileSize=$(du -k "${i}" | cut -f1) # echo $fileSize ((totalSize=fileSize+totalSize)) done
echo"文件总大小为:$((totalSize/1024))M" fi
基础命令
这个脚本难点在于命令行参数的处理,因为写这个脚本查阅了一些资料,主流的方案是使用下面两个命令:
getopts 是 Linux 系统中的一个内置变量,一般通过循环的方式使用,每次循环 getopts 都会检查命令行选项,并将命令行选项的值爆存在 OPTARG 变量中