#!/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