diff --git a/localdump.sh b/localdump.sh index e7868eed03f672dd16c343ed14f68290b001e2ec..a5feabbddca0d4e81d95574a4569772f0da4723b 100755 --- a/localdump.sh +++ b/localdump.sh @@ -256,26 +256,33 @@ # param string selection of items to select from # param string prompt to show function showSelectAndInput(){ - local _selection="$1" - local _prompt="$2" - - local _lines - typeset -i _lines; _lines=$( grep -c "." <<< "$_selection" ) - - if [ $_lines -eq "1" ]; then - echo "INFO: No interaction on a single choice. Using '$_selection'" - LASTINPUT="$_selection" - return 0 - else - - echo "$_selection" - color.print input "${_prompt} >" - read -r LASTINPUT - if [ -z "$LASTINPUT" ]; then - echo "No input given. Aborting." - exit 1 - fi - fi + local _selection="$1" + local _prompt="$2" + + local _lines + typeset -i _lines; _lines=$( grep -c "." <<< "$_selection" ) + + case $_lines in + 0) + color.echo error "ERROR no data for a further selection. Aborting." + echo + exit 1 + ;; + 1) + echo "INFO: No interaction on a single choice. Using '$_selection'" + LASTINPUT="$_selection" + return 0 + ;; + *) + echo "$_selection" + color.print input "${_prompt} >" + read -r LASTINPUT + if [ -z "$LASTINPUT" ]; then + echo "No input given. Aborting." + exit 1 + fi + ;; + esac } # ------------------------------------------------------------ @@ -358,7 +365,7 @@ EOH while [[ "$#" -gt 0 ]]; do case $1 in -h|--help) showhelp; exit 0;; *) if grep "^-" <<< "$1" >/dev/null ; then - echo; echo "ERROR: Unknown parameter: $1"; echo; showhelp; exit 2 + echo; color.echo error "ERROR: Unknown parameter: $1"; echo; showhelp; exit 2 fi break; ;;