#!/bin/bash

if [ $# != 2 ] ; then
    echo 'Expected exactly two arguments'
    exit 1
fi

if [ -f "$1" ] && [ -f "$2" ]; then
    args=
elif [ -d "$1" ] && [ -d "$2" ]; then
    args='-r'
else
    if [ -f "$1" ]; then
        type_of_1='file'
    else
        type_of_1='directory'
    fi
    if [ -f "$2" ]; then
        type_of_2='file'
    else
        type_of_2='directory'
    fi
    echo "Arguments are of different type ($type_of_1/$type_of_2)"
    exit 1
fi

if diff $args "$1" "$2" > /dev/null 2>&1; then
    echo 'Equal'
else
    echo 'Not equal'
fi