Dateien des bash Tutorioals auf raspithek.de
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

59 lines
1.6 KiB

#!/bin/bash
display_help() {
echo "Usage: ${0} [options]"
echo "Options:"
echo " -h, --help Show this help message"
echo " -v, --verbose Enable verbose mode"
echo " -f, --file <file> Specify a file"
echo " -n, --number <num> Specify a number (default: 42)"
}
# Universelle Parameterparser-Funktion
parse_args() {
POSITIONAL=()
while [[ $# -gt 0 ]]; do
case "${1}" in
-h|--help)
display_help
exit 0
;;
-v|--verbose)
VERBOSE=true
shift
;;
-f|--file)
if [[ -z "${2}" || "${2}" == -* ]]; then
echo "Error: --file requires a non-empty argument."
exit 1
fi
FILE="$2"
shift 2
;;
-n|--number)
if [[ -z "${2}" || "${2}" == -* ]]; then
echo "Error: --number requires a non-empty argument."
exit 1
fi
NUMBER="${2}"
shift 2
;;
--) # Explicit end of options
shift
break
;;
-*) # Unknown option
echo "Error: Unknown option $1"
exit 1
;;
*) # Positional argument
POSITIONAL+=("$1")
shift
;;
esac
done
set -- "${POSITIONAL[@]}" # Restore positional parameters
# Defaults
VERBOSE="${VERBOSE:-false}"
NUMBER="${NUMBER:-42}"
}