2014-02-15 30 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'回来,您的最后两行不起作用。