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