The idea is to print a usage error, then terminate with EXIT_FAILURE. Don't print the usage error twice when run with no command. Don't try to check for bogus extra arguments _after_ performing a long-running operation... particularly if that operation terminates the script with EXIT_SUCCESS first. --- policycoreutils/scripts/fixfiles | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/policycoreutils/scripts/fixfiles b/policycoreutils/scripts/fixfiles index 29982e2..014ab04 100755 --- a/policycoreutils/scripts/fixfiles +++ b/policycoreutils/scripts/fixfiles @@ -365,6 +365,7 @@ shift $(( OPTIND - 1 )) command="$1" if [ -z "$command" ]; then usage + exit 1 fi # Move out command from arguments @@ -375,10 +376,11 @@ shift # if [ ! -z "$RPMFILES" ]; then - process "$command" if [ $# -gt 0 ]; then - usage + usage + exit 1 fi + process "$command" else if [ -z "$1" ]; then process "$command" -- 2.9.3