summaryrefslogtreecommitdiff
path: root/scripts
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
commit7f77bd5acca5be49d98ad0d9115910940659b03e (patch)
tree41e21887060eb67a5088f99360f8eeabbd173199 /scripts
parentb754d42fc7719e5bf23b451151a166a6902d3a12 (diff)
downloadrabbitmq-server-7f77bd5acca5be49d98ad0d9115910940659b03e.tar.gz
Eliminated parsing of ls output
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/rabbitmq-env14
1 files changed, 9 insertions, 5 deletions
diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env
index 9ffa7302..ac3b77da 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