146 lines
2.8 KiB
Bash
146 lines
2.8 KiB
Bash
# ***************************************************************************
|
|
# Copyright (c) 2013 SAP AG or an SAP affiliate company. All rights reserved.
|
|
# ***************************************************************************
|
|
toupper()
|
|
#########
|
|
{
|
|
echo "$*" | tr a-z A-Z
|
|
}
|
|
|
|
tolower()
|
|
#########
|
|
{
|
|
echo "$*" | tr A-Z a-z
|
|
}
|
|
|
|
not()
|
|
#####
|
|
{
|
|
CMD=""
|
|
while [ -n "${1:-}" ] ; do
|
|
CMD="$CMD \"$1\""
|
|
shift
|
|
done
|
|
|
|
if eval "$CMD" ; then
|
|
false
|
|
else
|
|
true
|
|
fi
|
|
}
|
|
|
|
check_tool_requirements()
|
|
#########################
|
|
{
|
|
local sedtest awktest greptest trtest tailtest
|
|
|
|
# make sure sed understands substituting hex codes
|
|
sedtest=`echo "o o" | sed 's/ /\x00/'`
|
|
if [ "$sedtest" = "ox00o" ]; then
|
|
output_fatal_error "${ERR_SED}"
|
|
fi
|
|
# check existence of other required tools
|
|
awktest=`echo "awktest" | awk '{print $1}'`
|
|
if [ "$awktest" != "awktest" ]; then
|
|
output_fatal_error "${ERR_AWK}"
|
|
fi
|
|
greptest=`echo "greptest" | grep 'greptest'`
|
|
if [ "$greptest" != "greptest" ]; then
|
|
output_fatal_error "${ERR_GREP}"
|
|
fi
|
|
# tailtest=`echo "tailtest" | tail --lines 1`
|
|
# if [ "$tailtest" != "tailtest" ]; then
|
|
# output_fatal_error "${ERR_TAIL}"
|
|
# fi
|
|
trtest=`echo "trtest" | tr a-z a-z`
|
|
if [ "$trtest" != "trtest" ]; then
|
|
output_fatal_error "${ERR_TR}"
|
|
fi
|
|
}
|
|
|
|
output_msg()
|
|
###########
|
|
{
|
|
## [ ${QUIET:-0} -ne 0 ] && return ;
|
|
|
|
JUNK=`eval echo "$*"`
|
|
echo "$JUNK"
|
|
}
|
|
|
|
output_fatal_error()
|
|
####################
|
|
{
|
|
JUNK=`eval echo "$*"`
|
|
echo "$JUNK" >&2
|
|
exit 1
|
|
}
|
|
|
|
output_usage_error()
|
|
####################
|
|
{
|
|
JUNK=`eval echo "$*"`
|
|
echo "$JUNK" >&2
|
|
usage
|
|
}
|
|
|
|
cui_echo()
|
|
##########
|
|
{
|
|
## [ ${QUIET:-0} -eq 0 ] && echo "$*"
|
|
NOOP=NOOP
|
|
}
|
|
|
|
cui_eval_echo()
|
|
###############
|
|
{
|
|
## [ ${QUIET:-0} -ne 0 ] && return ;
|
|
|
|
JUNK=`eval echo "$*"`
|
|
echo "$JUNK"
|
|
}
|
|
|
|
cui_wait_for_input()
|
|
####################
|
|
# $2 - default response if the user hits enter in interactive mode
|
|
{
|
|
if [ ${AUTOYES:-1} -eq 1 ] && [ -n "${2:-}" ] ; then
|
|
CUI_RESPONSE="${2:-}"
|
|
else
|
|
cui_eval_echo "${1:-}"
|
|
read CUI_RESPONSE
|
|
[ -z "${CUI_RESPONSE:-}" ] && CUI_RESPONSE="${2:-}"
|
|
fi
|
|
}
|
|
|
|
cui_ask_y_n()
|
|
#############
|
|
# $1 - prompt question
|
|
# $2 - default answer "Y" or "N" (influences key Y/n or N/y)
|
|
{
|
|
if [ ${AUTOYES:-1} -eq 1 ] ; then
|
|
true
|
|
return
|
|
fi
|
|
|
|
_DEFAULT_ANSWER=${2:-N}
|
|
|
|
if [ "${_DEFAULT_ANSWER}" = "Y" ] ; then
|
|
_PROMPT="${MSG_PROMPT_YES_NO}"
|
|
else
|
|
_PROMPT="${MSG_PROMPT_NO_YES}"
|
|
fi
|
|
|
|
cui_echo ""
|
|
cui_wait_for_input "${1} ${_PROMPT}" "${_DEFAULT_ANSWER}"
|
|
|
|
case $CUI_RESPONSE in
|
|
"${MSG_ANSWER_yes}" | "${MSG_ANSWER_Yes}" | "${MSG_ANSWER_y}" | "${MSG_ANSWER_Y}" )
|
|
true
|
|
;;
|
|
* )
|
|
false
|
|
;;
|
|
esac
|
|
}
|
|
|