#!/bin/bash SHOPPINGITEM="" AMOUNT="" UNIT="" SITEID="" PARAMS="" SESSIONID="" while (( "$#" )); do case "$1" in --shoppingAmount) if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then AMOUNT=$2 shift 2 else echo "Error: Argument for $1 is missing" >&2 exit 1 fi ;; --shoppingUnit) if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then UNIT=$2 shift 2 else echo "Error: Argument for $1 is missing" >&2 exit 1 fi ;; --shoppingProduct) if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then SHOPPINGITEM=$2 shift 2 else echo "Error: Argument for $1 is missing" >&2 exit 1 fi ;; --siteId) if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then SITEID=$2 shift 2 else echo "Error: Argument for $1 is missing" >&2 exit 1 fi ;; --sessionId) if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then SESSIONID=$2 shift 2 else echo "Error: Argument for $1 is missing" >&2 exit 1 fi ;; -*|--*=) # unsupported flags echo "Error: Unsupported flag $1" >&2 exit 1 ;; *) # preserve positional arguments PARAMS="$PARAMS $1" shift ;; esac done # set positional arguments in their proper place eval set -- "$PARAMS" if [ "$SHOPPINGITEM" = "" ] then echo "Was soll ich von der Liste streichen?" exit 1 else lengthAmount=${#AMOUNT} lengthUnit=${#UNIT} if [ $lengthAmount -gt 0 ] then if [ $lengthUnit -gt 0 ] then java -jar /home/pi/hc_scripts/ShoppingList.jar --action removeFromList --shoppingAmount $AMOUNT --shoppingUnit $UNIT --shoppingProduct $SHOPPINGITEM else java -jar /home/pi/hc_scripts/ShoppingList.jar --action removeFromList --shoppingAmount $AMOUNT --shoppingProduct $SHOPPINGITEM fi else java -jar /home/pi/hc_scripts/ShoppingList.jar --action removeFromList --shoppingProduct $SHOPPINGITEM fi if [ "$?" -eq "0" ] then exit 0 else exit 1 fi fi