tak nakonec odevzdavam tochle. thx to fish

Kód:
#!/bin/bash
# This script tests compressed archives of types:
# *.zip   *.ZIP   *.gz   *.tgz   *.bz2   *.rar
# Autor: Richard Salava - kidd.hombre@seznam.cz

ERR=0;    # variable for counting errors

# check *.zip
ls -l *.zip > /dev/null 2>&1
RETVAL=$?
#echo $RETVAL
[ $RETVAL -eq 0 ] && for i in *.zip;
do
   unzip -tqq "$i" > /dev/null 2>&1;
   if [ $? -eq 0 ]
   then
      echo "$i	OK"
   else
      echo "$i 	CRC Error"
      ERR=`expr $ERR + 1`
   fi
done

# check *.ZIP
ls -l *.ZIP > /dev/null 2>&1
RETVAL=$?
#echo $RETVAL
[ $RETVAL -eq 0 ] && for i in *.ZIP;
do
   unzip -tv "$i" > /dev/null 2>&1;
   if [ $? -eq 0 ]
   then
      echo "$i	OK"
   else
      echo "$i 	CRC Error"
      ERR=`expr $ERR + 1`
   fi
done

# check *.gz
ls -l *.gz > /dev/null 2>&1
RETVAL=$?
[ $RETVAL -eq 0 ] && for i in *.gz;
do
   gzip -tv "$i" > /dev/null 2>&1;
   if [ $? -eq 0 ]
   then
      echo "$i	OK"
   else
      echo "$i  	CRC Error"
      ERR=`expr $ERR + 1`
   fi;
done

# check *.tgz
ls -l *.tgz > /dev/null 2>&1
RETVAL=$?
[ $RETVAL -eq 0 ] && for i in *.tgz;
do
   gzip -tv "$i" > /dev/null 2>&1;
   if [ $? -eq 0 ]
   then
      echo "$i	OK"
   else
      echo "$i 	CRC Error"
      ERR=`expr $ERR + 1`
   fi;
done

# check *.bz2
ls -l *.bz2 > /dev/null 2>&1
RETVAL=$?
[ $RETVAL -eq 0 ] && for i in *.bz2;
do
   bzip2 -tv "$i" > /dev/null 2>&1;
   if [ $? -eq 0 ]
   then
      echo "$i	OK"
   else
      echo "$i 	CRC Error"
      ERR=`expr $ERR + 1`
   fi;
done

# check *.rar
ls -l *.rar > /dev/null 2>&1
RETVAL=$?
#echo $RETVAL
if [ $RETVAL -eq 0 ]
then
   unrar > /dev/null 2>&1;
   if [ $? -eq 127 ]
   then
      echo "";
      echo "Files *.rar can't be checked for errors until you install UNRAR. Please read chapter instalation in readme.txt.";
   else
      for i in *.rar;
      do
         unrar t -inul "$i";
         if [ $? -eq 0 ]
         then
            echo "$i	OK"
         else
            echo "$i 	CRC Error"
            ERR=`expr $ERR + 1`
         fi
      done
   fi
fi

echo "";
[ $ERR -eq 0 ] && echo "All archive(s) is(are) OK!" || echo "Found CRC Error(s) in $ERR archive(s) !";

exit 0