why are you so angry all the time ? try being less confrontational for once.
going from the usage:
remove_libtool_files [all]
that means this may be called in only two ways:
1) remove_libtool_files
2) remove_libtool_files all
yet, if you read the actual code, you'll see:
+ [[ ${#} -le 1 ]] || die "Invalid number of args to ${FUNCNAME}()"
+ if [[ ${#} -eq 1 ]]; then
+ ...
+ fi
that means if more than 1 argument is passed, no error is thrown. i thought
you were intending to parse $@ further on because of it (hence the suggestion
of updating the @USAGE), but it looks merely like your arg parsing is
incorrect and needs fixing. probably easiest by doing:
case $#:$1 in
0:'') ;;
1:all) removing_all=1 ;;
*) die "invalid usage" ;;
esac