如何增加位于bash脚本中的函数中的全局变量?

时间:2019-03-22 20:03:37

标签: bash

我正在尝试遍历目录及其子目录以提取文件。 下面的代码可以正常工作,但是全局变量"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。

0 个答案:

没有答案