#!/bin/sh chk_ENV() { if [ -z "${FILE_LOG}" ]; then FILE_LOG=log export FILE_LOG fi test -f "${FILE_LOG}" || touch "${FILE_LOG}" if [ $? != 0 ]; then echo "Unable to create log file \"${FILE_LOG}\"" >&2 exit 1 fi if [ -z "${MSG_LOG}" ]; then MSG_LOG="***** $1 *****" export MSG_LOG fi if [ -z "${OPENSSL}" ]; then OPENSSL="openssl" export OPENSSL fi if [ ! -z "${ENGINE}" ]; then ENGINE="-engine ${ENGINE}" export ENGINE fi ESITO=0 export ESITO } begin_CMD() { echo "$MSG_LOG: BEGIN ON " `date` >>${FILE_LOG} if [ ! -z "${DEBUG}" -a "${DEBUG}" != "0" ]; then echo \ "--- DEBUG INFORMATION --- ENV[HOME] = \"${HOME}\" ENV[FILE_LOG] = \"${FILE_LOG}\" ENV[MSG_LOG] = \"${MSG_LOG}\" ENV[OPENSSL] = \"${OPENSSL}\" ENV[ENGINE] = \"${ENGINE}\" ${DEBUG_INFORMATION}--- DEBUG INFORMATION ---" >>${FILE_LOG} fi STR_CMD=COMMAND export STR_CMD } echo_CMD() { echo $STR_CMD: $1 >>${FILE_LOG} } print_CMD() { if [ -z "$2" ]; then eval echo $STR_CMD: $1 >>${FILE_LOG} else echo "$STR_CMD: $1 > $2" >>${FILE_LOG} fi } exec_CMD() { if [ -z "$2" ]; then eval $1 2>>${FILE_LOG} else eval $1 > $2 2>>${FILE_LOG} fi } print_exec_CMD() { print_CMD "$1" $2 exec_CMD "$1" $2 } end_CMD() { if [ -n "${EXIT_CMD}" ]; then STR_CMD=EXIT_COMMAND print_exec_CMD "$EXIT_CMD" fi if [ -n "$1" ]; then ESITO=$1 fi echo "$MSG_LOG: END WITH CODE $ESITO ON "`date` >>${FILE_LOG} exit ${ESITO} } check_CMD() { ESITO=$? if [ $ESITO -ne 0 -a -n "${EXIT_CMD}" ]; then STR_CMD=EXIT_COMMAND print_exec_CMD "$EXIT_CMD" unset EXIT_CMD end_CMD fi } run_CMD() { print_exec_CMD "$1" $2 check_CMD } proc_CMD() { begin_CMD run_CMD "$1" end_CMD } # extra run_CMD_with_input() { echo_CMD "$2" $2 <>${FILE_LOG} 2>>${FILE_LOG} $1 END check_CMD } run_CMD_with_output() { echo_CMD "$2" STR_CMD="OUTPUT " run_CMD "$1=\"`$2`\"" STR_CMD=COMMAND }