#!/bin/sh USER=root PASS=root REMOTE_IP=172.20.0.2 TEMP_DIR=/tmp/diso ESPACIO=' ' verificarArchivos() { echo Directorio ${2}/${1} # Si la lista de archivos pasada como argumento es nula, salimos if [ -z "$ARCHIVOS" ]; then echo "$ESPACIO No hay archivos en $1" return 1 fi # Obtenemos los archivos a chequear del ftp server rm -rf ${TEMP_DIR}/${1} mkdir -p ${TEMP_DIR}/${1} ftp -i -n $REMOTE_IP <<** > /dev/null user $USER $PASS cd ${2}/${1} lcd ${TEMP_DIR}/${1} mget ${ARCHIVOS} bye ** # Ahora los comparamos con los locales for file in $ARCHIVOS; do ARCHIVO_REMOTO=${TEMP_DIR}/${1}/${file} ARCHIVO_LOCAL=${DIR_ACTUAL}/${1}/${file} if [ ! -f $ARCHIVO_REMOTO -o ! -f $ARCHIVO_LOCAL ]; then echo "$ESPACIO Error con los archivos" return 1 fi diff $OPCIONES -u ${ARCHIVO_REMOTO} ${ARCHIVO_LOCAL} done rm -rf ${TEMP_DIR}/${1} } OPCIONES=$1 DIR_ACTUAL=$(pwd) DIR=include/minix cd $DIR ARCHIVOS=$(ls *.c *.h 2> /dev/null | tr "\t" " " | tr "\n" " ") verificarArchivos $DIR /usr cd ../.. DIR=mm cd $DIR ARCHIVOS=$(ls *.c *.h | tr "\t" " " | tr "\n" " ") verificarArchivos $DIR /usr/src cd .. DIR=kernel cd $DIR ARCHIVOS=$(ls *.c *.h | tr "\t" " " | tr "\n" " ") verificarArchivos $DIR /usr/src cd ..