2014-02-15 61 views
1

在我的腳本中我收到的參數爲$ 1 a .tgz文件,我必須在臨時目錄中過濾其元素的大小,創建一個新的一個和重寫原件。

如果$ 1「〜/目錄/ File.tgz」,我需要知道熱水去「〜/目錄」這樣我就可以使用它。

這是我的代碼:

dtemp=`mktemp -d ./tmpdirXXX` 
    cp $1 $dtemp #Copy 
    cd $dtemp 
    comprimido=`find ./ -name "*.tgz"` 
    tar xzvf $comprimido 
    rm $comprimido 

    for archivo in * 
    do 
     Tarchivo=`du -b "$archivo" | cut -f1` 
     if test 70192 -lt $Tarchivo 
     then 
      echo "$archivo es mayor de 8KB" 
      rm -r $archivo 
     fi 
    done 

    tar czvf $1 $dtemp 
    rm -r $dtemp 

最後兩行不工作,它說,該文件或目錄不存在。

感謝您的幫助!

+2

'dirname「$ 1」'會給你目錄名稱。 – devnull

+2

對於賦值給一個變量,比如說'dir = $(dirname「$ 1」)' – devnull

回答

0

由於您的cd'd到臨時目錄,但從未有cd'回來,您的最後兩行不起作用。