diff options
author | Paul Jones <paulj@lshift.net> | 2009-08-03 13:48:58 +0100 |
---|---|---|
committer | Paul Jones <paulj@lshift.net> | 2009-08-03 13:48:58 +0100 |
commit | 7f77bd5acca5be49d98ad0d9115910940659b03e (patch) | |
tree | 41e21887060eb67a5088f99360f8eeabbd173199 /scripts | |
parent | b754d42fc7719e5bf23b451151a166a6902d3a12 (diff) | |
download | rabbitmq-server-7f77bd5acca5be49d98ad0d9115910940659b03e.tar.gz |
Eliminated parsing of ls output
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/rabbitmq-env | 14 |
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 |