erste Version von family.sh
This commit is contained in:
71
teil27/family.sh
Executable file
71
teil27/family.sh
Executable file
@@ -0,0 +1,71 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
usage() {
|
||||
local name=${0##*/}
|
||||
|
||||
cat <<-EOF
|
||||
Usage: ${name} [-h || --help] -f || --father <name> -m || --mother <name> -s || --son <name> -d || --daughter <name> -b || --baby <name>
|
||||
|
||||
checks if all members of the Simpsons's family are present: exits 0
|
||||
exists 1 otherwise
|
||||
EOF
|
||||
}
|
||||
FATHER=""
|
||||
MOTHER=""
|
||||
SON=""
|
||||
DAUGHTER=""
|
||||
BABY=""
|
||||
|
||||
VALID_ARGS=$(getopt -o hf:m:s:d:b: --long help,father:,mother:,sun:,daughter:,baby: -- "$@")
|
||||
if [[ $? -ne 0 ]]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
echo "VALID_ARGS=${VALID_ARGS}"
|
||||
eval set -- "$VALID_ARGS"
|
||||
|
||||
while [ : ]; do
|
||||
echo "current parameter: ${1},value=${2}"
|
||||
case "$1" in
|
||||
-h | --help)
|
||||
usage
|
||||
exit 0
|
||||
shift # simple parameter shift by one
|
||||
;;
|
||||
-f | --father)
|
||||
FATHER=${2}
|
||||
shift 2 # parameter with argument sift two times
|
||||
;;
|
||||
-m | --mother)
|
||||
MOTHER=${2}
|
||||
shift 2
|
||||
;;
|
||||
-s | --son)
|
||||
SON=${2}
|
||||
shift 2
|
||||
;;
|
||||
-d | --daughter)
|
||||
DAUGHTER=${2}
|
||||
shift 2
|
||||
;;
|
||||
-b | --baby)
|
||||
BABY=${2}
|
||||
shift 2
|
||||
;;
|
||||
--) # end of loop
|
||||
shift
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "unrecognized parameter ${1}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
done
|
||||
|
||||
echo "FATHER=${FATHER}"
|
||||
echo "MOTHER=${MOTHER}"
|
||||
echo "SON=${SON}"
|
||||
echo "DAUGHTER=${DAUGHTER}"
|
||||
echo "BABY=${BABY}"
|
||||
Reference in New Issue
Block a user