麻烦帮我看一下:
#! /bin/bash
#! /bin/bash
dir=/backup/ttt
for file in $(find /backup/ttt -name "[0-9]*" -type d -exec basename {} \
do
echo $file
cd "$dir/$file"
num=`ls|wc -l`
if [ $num -ge 5 ];then
cd "$dir"
if [ ! -f "$file.*.all.gz" ];then
tar -zcf $file.`date '+%Y%m%d'`.all.tar.gz $file
else
echo "you le"
fi
else
cd "$dir"
tar -zcf $file.`date '+%Y%m%d'`.tar.gz $file
fi
done
我第二个if -f判断会出现问题,我目录下确实有¥file date。all。gz 压缩包但是在执行他还会再压缩,如果把我不去反 if [ -f "$file.*.all.gz" ];他就会显示 you le,为什么明明存在但是这样判断确是不存在作者: Shell_HAT 时间: 2012-03-29 15:48 回复 9# a65751844