#!/bin/bash

file=""

function usage
{
    retval="$1"
    case "$retval" in
        0)
            ;;
        *)
            exec 1>&2
            ;;
    esac
    echo "Usage: $0 --file filename"
    echo
    echo "This program removes a file, but only if it exists, sudo'ing if necessary".
    echo If it does not exist, no sudo is used.
    exit "$retval"
}

while [ "$#" -ge 2 ]
do
    case "$1" in
        --file)
            file="$2"
            shift
            ;;
        -h|--help)
            usage 0
            ;;
        *)
            echo "$0: Unrecognized option: $1" 1>&2
            usage 1
            ;;
    esac
    shift
done

case "$file" in
    "")
        echo --file is a required option 1>&2
        usage 1
        ;;
esac

if [ -f "$file" ]
then
    rm -f "$file" > /dev/null 2>&1
fi

if [ -f "$file" ]
then
    sudo rm -f "$file"
fi