summaryrefslogtreecommitdiff
path: root/scripts/rabbitmq-env
diff options
context:
space:
mode:
authorPaul Jones <paulj@lshift.net>2009-08-03 13:48:58 +0100
committerPaul Jones <paulj@lshift.net>2009-08-03 13:48:58 +0100
commitb482ac70be2902b845cdfdea38fa6e7e80984f16 (patch)
tree41e21887060eb67a5088f99360f8eeabbd173199 /scripts/rabbitmq-env
parent4bedf0ea86889fcdb46d34fe777febcb77ec68c1 (diff)
downloadrabbitmq-server-git-b482ac70be2902b845cdfdea38fa6e7e80984f16.tar.gz
Eliminated parsing of ls output
Diffstat (limited to 'scripts/rabbitmq-env')
-rwxr-xr-xscripts/rabbitmq-env14
1 files changed, 9 insertions, 5 deletions
diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env
index 9ffa730224..ac3b77da91 100755
--- a/scripts/rabbitmq-env
+++ b/scripts/rabbitmq-env
@@ -33,12 +33,16 @@
# Determine where this script is really located
SCRIPT_PATH="$0"
while [ -h "$SCRIPT_PATH" ] ; do
- ls=`ls -ld "$SCRIPT_PATH"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT_PATH="$link"
+ FULL_PATH=`readlink -f $SCRIPT_PATH 2>/dev/null`
+ if [ "$?" != "0" ]; then
+ REL_PATH=`readlink $SCRIPT_PATH`
+ if expr "$REL_PATH" : '/.*' > /dev/null; then
+ SCRIPT_PATH="$link"
+ else
+ SCRIPT_PATH="`dirname "$SCRIPT_PATH"`/$REL_PATH"
+ fi
else
- SCRIPT_PATH="`dirname "$SCRIPT_PATH"`/$link"
+ SCRIPT_PATH=$FULL_PATH
fi
done