#!/bin/bash# Escrito por Antonio Ognio <antonio at linux dot org dot pe>comparar_fecha () { # El primer parámetro es la ruta absoluta o relativa # al directorio directorio=$1 contenedor=$(dirname $directorio) nombre=$(basename $directorio) # Verificar que el directorio exista if [ ! -e $directorio ] then export ERROR="El directorio '$directorio'no existe" return 3 fi # Verificar que se trate de un directorio if [ ! -d $directorio ] then export ERROR="La entrada '$directorio' no es un directorio" return 3 fi # Obtener la fecha fecha_dir=`ls -l $contenedor | grep $nombre | cut -d ' ' -f6` if [ -z $fecha_dir ] then export ERROR="La fecha del directorio esta en blanco" return 3 fi # Obtener la fecha del sistema fecha_sys=$(date +%G-%m-%d) # Comparar las fechas como dos simples cadenas de texto if [[ $fecha_dir > $fecha_sys ]] then # echo "$fecha_dir es mayor que $fecha_sys" return 1 fi if [[ $fecha_dir == $fecha_sys ]] then # echo "$fecha_dir es igual a $fecha_sys" return 0 fi if [[ $fecha_dir < $fecha_sys ]] then # echo "$fecha_dir es menor que $fecha_sys" return 2 fi}comparar_fecha "/home/gnrfan/FAB"case $? in 1) echo -n "La fecha de creación del directorio $dir" echo "es posterior a la fecha de hoy" ;; 0) echo -n "La fecha de creación del directorio $dir" echo "es la misma que la de hoy" ;; 2) echo -n "La fecha de creación del directorio $dir" echo "es anterior a la fecha de hoy" ;; 3) echo -n "Ocurrio un error al comparar la fecha del" echo "directorio $dir con la fecha de hoy:" echo $ERROR ;; *) echo "El valor retornado por la función es desconocido" echo "Valor retornado: '$?'" ;;