Effettivamente era pieno di bug.. Questo
codice:
#Utilizzo directory corrente se non specificata
if [ -n $2 ] && [ -d $2 ]; then
   BACKUP_DIR="$1"
else
   BACKUP_DIR="."
fi

## FILE
#Formato file da eliminare
FILE_TO_REMOVE="jpeg jpg tiff tif png bmp"
#Formato file da comprimere
FILE_TO_COMPRESS="model prt pd dwg"
#File da printare
FILE_TO_PRINT="$FILE_TO_COMPRESS $FILE_TO_REMOVE"

## LOG
#Impostazione File di log
#touch "/tmp/backup_removed_`date +%Y%m%d`.log"
#touch "/tmp/backup_compressed_`date +%Y%m%d`.log"

LOG_REMOVED="/tmp/backup_removed_`date +%Y%m%d`.log"
echo "Removed files from directory $BACKUP_DIR on `date +%d-%m-%Y`:\n" >> "$LOG_REMOVED"
LOG_COMPRESSED="/tmp/backup_compressed_`date +%Y%m%d`.log"
echo "Compressed files in directory $BACKUP_DIR on `date +%d-%m-%Y`:\n" >> "$LOG_COMPRESSED"

#Errore
E_OPTERR=65

#Linea di comando senza argomento
if [ "$#" -eq 0 ]
then   # Script needs at least one command-line argument.
  echo "Usage $0 -[options c,r,s,p]"
  exit $E_OPTERR
fi

#Funzione compressione file
compress_file() {
echo "Compressione file..."
for EXT in "$FILE_TO_COMPRESS"; do
find "$BACKUP_DIR" -name \*."$EXT" -exec compress {} \; -exec echo {} >> "$LOG_COMPRESSED" \;
done
echo "Compressione file... completa."
}

#Funzione rimozione file
remove_file() {
echo "Rimozione file..."
for EXT in "$FILE_TO_REMOVE"; do
   find "$BACKUP_DIR" -name \*."$EXT" -exec rm {} \; -exec echo {} >> "$LOG_REMOVED" \;
done            
echo "Rimozione file... completa."
}

#Funzione print file --TEMPORANEO--
print_file() {
for EXT in "$FILE_TO_PRINT"; do
   echo $EXT;
done            
}

set -- `getopt "crps:" "$@"`
# Sets positional parameters to command-line arguments.
  
while [ ! -z "$1" ]
do
  case "$1" in
    -c) compress_file;;
    -r) remove_file;;
    -s) compress_file && remove_file;;
    -p) print_file;;
  esac
  shift
done

#Funzione print file
#print_file(){
#for EXT in "$FILE_TO_PRINT"; do
#   find "$BACKUP_DIR" -name \*."$EXT" -print {} \;
#done            
#}
con tutte le limitazioni del caso.. Tra cui la creazione dei file ed il discorso di come fare per controllare la directory sia se passo un argomento all'opzione sia in caso contrario..