summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDaniil Fedotov <hairyhum@gmail.com>2018-08-13 11:43:54 +0100
committerDaniil Fedotov <hairyhum@gmail.com>2018-08-14 14:19:41 +0100
commitb8606a2ee50b643bdad7bf505aba7b8e5e3133c8 (patch)
treef0de61eaea5471cd12ee7b4f7347f3a6cdfcb3cf /scripts
parentd296e80b521c1f0ae39cea0440104046884d58b0 (diff)
downloadrabbitmq-server-git-b8606a2ee50b643bdad7bf505aba7b8e5e3133c8.tar.gz
Fix function removing extension.
The ${FOO%.*} expression removes everything after the last dot, which returns wrong results for paths like /foo/bar.baz/bar. Make it use basename and dirname intead.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/rabbitmq-server16
1 files changed, 13 insertions, 3 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 163bcdf18f..78faf063b7 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -74,9 +74,19 @@ if [ ! -f "${RABBITMQ_SCHEMA_DIR}/rabbit.schema" ]; then
cp "${RABBITMQ_HOME}/priv/schema/rabbit.schema" "${RABBITMQ_SCHEMA_DIR}"
fi
+get_noex() {
+ if [ "x" = "x${1}" ]; then
+ echo ""
+ else
+ local BASENAME=$(basename $1)
+ local DIRNAME=$(dirname $1)
+ echo "${DIRNAME}/${BASENAME%.*}"
+ fi
+}
+
# Check that advanced config file has the .config extension
# Add .config extension if it's empty
-RABBITMQ_ADVANCED_CONFIG_FILE_NOEX="${RABBITMQ_ADVANCED_CONFIG_FILE%.*}"
+RABBITMQ_ADVANCED_CONFIG_FILE_NOEX=$(get_noex ${RABBITMQ_ADVANCED_CONFIG_FILE})
if [ "${RABBITMQ_ADVANCED_CONFIG_FILE_NOEX}.config" = "${RABBITMQ_ADVANCED_CONFIG_FILE}" \
-o "${RABBITMQ_ADVANCED_CONFIG_FILE_NOEX}" = "${RABBITMQ_ADVANCED_CONFIG_FILE}" ]; then
RABBITMQ_ADVANCED_CONFIG_FILE="${RABBITMQ_ADVANCED_CONFIG_FILE_NOEX}.config"
@@ -87,7 +97,7 @@ else
fi
-RABBITMQ_CONFIG_FILE_NOEX="${RABBITMQ_CONFIG_FILE%.*}"
+RABBITMQ_CONFIG_FILE_NOEX=$(get_noex ${RABBITMQ_CONFIG_FILE})
# Extension is not specified.
# Determine config type from file
@@ -133,7 +143,7 @@ fi
# Set -config if the file exists
if [ -f "${RABBITMQ_CONFIG_ARG_FILE}" ]; then
- RABBITMQ_CONFIG_ARG_FILE_NOEX="${RABBITMQ_CONFIG_ARG_FILE%.*}"
+ RABBITMQ_CONFIG_ARG_FILE_NOEX=$(get_noex ${RABBITMQ_CONFIG_ARG_FILE})
RABBITMQ_CONFIG_ARG="-config ${RABBITMQ_CONFIG_ARG_FILE_NOEX}"
fi