53 lines
1.2 KiB
Bash
Executable File
53 lines
1.2 KiB
Bash
Executable File
#!/bin/zsh
|
|
#####################################################################
|
|
|
|
USAGE__options='
|
|
-e, --exit-code desired exit code of the function (default "0")
|
|
-f, --output-function one of the zsh/utils output functions (default "SUCCESS")
|
|
-m, --message a message to display (default "Hello, World!")
|
|
'
|
|
|
|
USAGE__description='
|
|
a simple hello-world-style script which allows specific scwrypts
|
|
conditions to be quickly emulated
|
|
'
|
|
|
|
#####################################################################
|
|
|
|
MAIN() {
|
|
local OUTPUT_FUNCTION=SUCCESS
|
|
local EXIT_CODE=0
|
|
local MESSAGE='Hello, world!'
|
|
|
|
ARGUMENT_REQUIRED() { ERROR "'$1' requires an argument"; }
|
|
|
|
while [[ $# -gt 0 ]]
|
|
do
|
|
case $1 in
|
|
-e | --exit-code )
|
|
EXIT_CODE="$2"
|
|
[ $2 ] && shift 1 || ARGUMENT_REQUIRED
|
|
;;
|
|
-f | --output-function )
|
|
OUTPUT_FUNCTION="$2"
|
|
[ $2 ] && shift 1 || ARGUMENT_REQUIRED
|
|
;;
|
|
-m | --message )
|
|
MESSAGE="$2"
|
|
[ $2 ] && shift 1 || ARGUMENT_REQUIRED
|
|
;;
|
|
* ) ERROR "unknown argument '$1'" ;;
|
|
esac
|
|
shift 1
|
|
done
|
|
|
|
CHECK_ERRORS
|
|
|
|
##########################################
|
|
|
|
[[ $OUTPUT_FUNCTION =~ ^FAIL$ ]] && FAIL $EXIT_CODE "$MESSAGE"
|
|
|
|
$OUTPUT_FUNCTION "$MESSAGE"
|
|
return $EXIT_CODE
|
|
}
|