在我的脚本中,我收到一个 .tgz 文件作为参数 $1,我必须在临时目录中过滤其元素的大小,创建一个新文件并重写原始文件。
如果 $1 是 "~/Directory/File.tgz",我需要知道热点才能到达 "~/Directory" 这样我就可以使用它了。
这是我的代码:
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
最后两行不行,说文件或目录不存在。
感谢您的帮助!
最佳答案
最后两行不起作用,因为您cd
到临时目录,但从未cd
返回。
关于Linux Shell 脚本 - 如何获取参数 $n 的上层目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798527/