我正在尝试遍历目录及其子目录以提取文件。
下面的代码可以正常工作,但是全局变量"DECOMPRESSED_FILES_COUNTER"
仍为0。
这是我脚本的一部分:
FILE_OUTPUT_HIDE=/dev/null 2>&1
DECOMPRESSED_FILES_COUNTER=0
CURRENT_PATH=$(pwd)
function extractFiles(){
IS_EXTRACKED=""
if ( file "$FILE_I" | grep -w 'zip' >$FILE_OUTPUT_HIDE )
then
unzip -o $FILE_I >$FILE_OUTPUT_HIDE
let "DECOMPRESSED_FILES_COUNTER++"
elif ( file "$FILE_I" | grep -w 'gzip' >$FILE_OUTPUT_HIDE )
then
gunzip -k -f -N $FILE_I >$FILE_OUTPUT_HIDE
let "DECOMPRESSED_FILES_COUNTER++"
elif ( file "$FILE_I" | grep -w 'bzip2' >$FILE_OUTPUT_HIDE )
then
bzip2 -k -d -f $FILE_I >$FILE_OUTPUT_HIDE
let "DECOMPRESSED_FILES_COUNTER++"
else
IS_EXTRACKED=false
fi
}
function recursiveMode(){
find $CURRENT_PATH -type f | while read FILE_I
do
extractFiles
done
}
我希望DECOMPRESSED_FILES_COUNTER
会增加,但是即使提取了文件,实际值仍为0。