fix bug in runconnect.sh (#231)

diff --git a/distribution/bin/runconnect.sh b/distribution/bin/runconnect.sh
index 5801da7..78ffe96 100644
--- a/distribution/bin/runconnect.sh
+++ b/distribution/bin/runconnect.sh
@@ -32,7 +32,7 @@
 {
   _java=$1
   _version=$2
-  version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}' | grep -o '^[0-9.]\+')
+  version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}' | grep -o '^[0-9]\+\.\+[0-9]\+')
   flag="true"
   if [[ $(echo "$version < $_version" | bc) -eq 1 ]]; then
       flag="false"
@@ -100,8 +100,13 @@
   JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib:${JAVA_HOME}/jre/lib/ext"
   JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"
 else
-  JAVA_OPT="${JAVA_OPT} -Xlog:gc:/dev/shm/mq_gc_%p.log -Xlog:gc*"
-  JAVA_OPT="${JAVA_OPT} -cp $(find "${BASE_DIR}/lib" -name '*.jar' | sed ':a;N;s/\n/:/;ba;'):${CLASSPATH}"
+  if [ "$(uname)" == "Darwin" ]; then
+    JAVA_OPT="${JAVA_OPT} -Xlog:gc:/tmp/mq_gc_$$.log -Xlog:gc*"
+    JAVA_OPT="${JAVA_OPT} -cp $(find "${BASE_DIR}/lib" -name '*.jar' | tr "\n" ":"):${CLASSPATH}"
+  else
+    JAVA_OPT="${JAVA_OPT} -Xlog:gc:/dev/shm/mq_gc_%p.log -Xlog:gc*"
+    JAVA_OPT="${JAVA_OPT} -cp $(find "${BASE_DIR}/lib" -name '*.jar' | sed ':a;N;s/\n/:/;ba;'):${CLASSPATH}"
+  fi
 fi
 JAVA_OPT="${JAVA_OPT} -DisSyncFlush=false"