fix common mistake, while the variable assignment takes place before the local declaration, what leads into unexpected value

This commit is contained in:
belliash 2012-01-02 23:09:58 +01:00
parent d6677c0548
commit 4137361517
1 changed files with 15 additions and 11 deletions

View File

@ -8,11 +8,12 @@
# Parameters: %min_version% %test_version% # Parameters: %min_version% %test_version%
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
function checkVersion() { function checkVersion() {
local REF=$(echo "${1}" | \ local BEST REF TST
REF=$(echo "${1}" | \
sed -u -e "s/-r/_z/g" -e "s/_p/_z/g" -e "s/_zre/_pre/" -e "s/$/_z0/") sed -u -e "s/-r/_z/g" -e "s/_p/_z/g" -e "s/_zre/_pre/" -e "s/$/_z0/")
local TST=$(echo "${2}" | \ TST=$(echo "${2}" | \
sed -u -e "s/-r/_z/g" -e "s/_p/_z/g" -e "s/_zre/_pre/" -e "s/$/_z0/") sed -u -e "s/-r/_z/g" -e "s/_p/_z/g" -e "s/_zre/_pre/" -e "s/$/_z0/")
local BEST=$(echo -e "${REF}\n${TST}" | sed "/^$/d" | sort -Vr | head -1) BEST=$(echo -e "${REF}\n${TST}" | sed "/^$/d" | sort -Vr | head -1)
[[ "${BEST}" = "${TST}" ]] && return 0 [[ "${BEST}" = "${TST}" ]] && return 0
return 1 return 1
} }
@ -112,12 +113,13 @@ function loadLibraries() {
# Parameters: %message% %level% # Parameters: %message% %level%
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
function logMessage() { function logMessage() {
local DATE MESSAGE TYPE
if isEnabled ${LOGGING}; then if isEnabled ${LOGGING}; then
local MESSAGE="${1}" MESSAGE="${1}"
local TYPE="${2}" TYPE="${2}"
local DATE=$(date +"${LOGDATEFORMAT}") DATE=$(date +"${LOGDATEFORMAT}")
if [ -z ${TYPE} ]; then if [ -z ${TYPE} ]; then
local TYPE=" - " TYPE=" - "
fi fi
echo -e "[${DATE}][${TYPE}] ${MESSAGE}" >> ${LOGFILE} echo -e "[${DATE}][${TYPE}] ${MESSAGE}" >> ${LOGFILE}
fi fi
@ -186,10 +188,11 @@ function restoreIFS() {
# Parameters: %command% # Parameters: %command%
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
function run() { function run() {
local COMMAND="${1}" local COMMAND OUTPUT RESULT
COMMAND="${1}"
logMessage "Executing: \"${COMMAND}\"" "DEBUG" logMessage "Executing: \"${COMMAND}\"" "DEBUG"
local OUTPUT=$(${COMMAND} 2>&1) OUTPUT=$(${COMMAND} 2>&1)
local RESULT=${?} RESULT=${?}
logOutput "${OUTPUT}" logOutput "${OUTPUT}"
return ${RESULT} return ${RESULT}
} }
@ -199,10 +202,11 @@ function run() {
# Parameters: %new_ifs% # Parameters: %new_ifs%
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
function saveIFS() { function saveIFS() {
local NEWIFS
if [ "${IFS:-unset}" != "unset" ]; then if [ "${IFS:-unset}" != "unset" ]; then
ORGIFS="${IFS}" ORGIFS="${IFS}"
fi fi
local NEWIFS="${1}" NEWIFS="${1}"
if isSet NEWIFS; then if isSet NEWIFS; then
IFS="${NEWIFS}" IFS="${NEWIFS}"
fi fi