From 6a0593981eccf817fe78489c353523a2fcc782d6 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Mon, 25 Sep 2023 05:39:30 -0700 Subject: [PATCH] Improve some sgit error messages If no sed command given (the first check on command line) say that at least one sed command and one glob must be specified. This way they can see that both are needed to help prevent the situation where one first specifies no sed command and then after fixing that provides no glob. I felt that it is not necessary to show this when there is no glob because the check for sed commands comes first. Add error message for unexpected value from getopts. --- src/sgit/README.md | 2 +- src/sgit/sgit.sh | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/sgit/README.md b/src/sgit/README.md index 4355dec23..48920572a 100644 --- a/src/sgit/README.md +++ b/src/sgit/README.md @@ -70,7 +70,7 @@ usage: sgit [-h] [-V] [-v level] [-x] [-I] [-i extension] [-o sed_option(s)] [-s -s sed set path to sed -e command append sed command to list of commands to execute on globs -sgit version: 0.0.9-1 24-04-2023 +sgit version: 0.0.10-1 24-04-2023 ``` You **MUST** specify at least one `sed` command and one glob: the sed command by diff --git a/src/sgit/sgit.sh b/src/sgit/sgit.sh index 599c0ab9a..a06890680 100755 --- a/src/sgit/sgit.sh +++ b/src/sgit/sgit.sh @@ -21,7 +21,7 @@ # - Cody Boone Ferguson (@xexyl) # -export SGIT_VERSION="0.0.9-1 24-04-2023" # format: major.minor.patch-release DD-MM-YYYY +export SGIT_VERSION="0.0.10-1 24-04-2023" # format: major.minor.patch-release DD-MM-YYYY USAGE="usage: $(basename "$0") [-h] [-V] [-v level] [-x] [-I] [-i extension] [-o sed_option(s)] [-s sed] [-e command] @@ -93,7 +93,10 @@ while getopts :hVv:xIi:o:s:e: flag; do echo "$USAGE" 1>&2 exit 3 ;; - *) + *) echo "$0: ERROR: unexpected value from getopts: $flag" 1>&2 + echo 1>&2 + echo "$USAGE" 1>&2 + exit 3 ;; esac done @@ -104,7 +107,7 @@ shift $(( OPTIND - 1 )); # check that SED_COMMANDS is not empty! if [[ -z "${SED_COMMANDS[*]}" ]]; then - echo "$(basename "$0"): ERROR: you must specify at least one sed command" 1>&2 + echo "$(basename "$0"): ERROR: you must specify at least one sed command and one glob" 1>&2 echo 1>&2 echo "$USAGE" 1>&2 exit 2