ISSUE #2726 Fix JAVA_HOME containing spaces

### Motivation

Fix issue [#3726](https://github.com/apache/bookkeeper/issues/2726)


### Changes

Add double quotation around `${JAVA}`  in `/bin/bookkeeper`.


Reviewers: Yong Zhang <zhangyong1025.zy@gmail.com>, Andrey Yegorov <None>, Sijie Guo <None>

This closes #2727 from Sunny-Island/fix-space-in-java-home, closes #2726
diff --git a/bin/bkctl b/bin/bkctl
index fee0526..ec0a0c7 100755
--- a/bin/bkctl
+++ b/bin/bkctl
@@ -64,4 +64,4 @@
 
 #Change to BK_HOME to support relative paths
 cd "$BK_HOME"
-exec ${JAVA} ${OPTS} org.apache.bookkeeper.tools.cli.BKCtl --conf ${CLI_CONF} $@
+exec "${JAVA}" ${OPTS} org.apache.bookkeeper.tools.cli.BKCtl --conf ${CLI_CONF} $@
diff --git a/bin/bookkeeper b/bin/bookkeeper
index 9745754..47cb42d 100755
--- a/bin/bookkeeper
+++ b/bin/bookkeeper
@@ -157,26 +157,26 @@
 #Change to BK_HOME to support relative paths
 cd "$BK_HOME"
 if [ ${COMMAND} == "bookie" ]; then
-  exec ${JAVA} ${OPTS} ${JMX_ARGS} org.apache.bookkeeper.server.Main --conf ${BOOKIE_CONF} $@
+  exec "${JAVA}" ${OPTS} ${JMX_ARGS} org.apache.bookkeeper.server.Main --conf ${BOOKIE_CONF} $@
 elif [ ${COMMAND} == "autorecovery" ]; then
-  exec ${JAVA} ${OPTS} ${JMX_ARGS} org.apache.bookkeeper.replication.AutoRecoveryMain --conf ${BOOKIE_CONF} $@
+  exec "${JAVA}" ${OPTS} ${JMX_ARGS} org.apache.bookkeeper.replication.AutoRecoveryMain --conf ${BOOKIE_CONF} $@
 elif [ ${COMMAND} == "localbookie" ]; then
   NUMBER=$1
   shift
-  exec ${JAVA} ${OPTS} ${JMX_ARGS} -Dzookeeper.4lw.commands.whitelist='*' org.apache.bookkeeper.util.LocalBookKeeper ${NUMBER} ${BOOKIE_CONF} $@
+  exec "${JAVA}" ${OPTS} ${JMX_ARGS} -Dzookeeper.4lw.commands.whitelist='*' org.apache.bookkeeper.util.LocalBookKeeper ${NUMBER} ${BOOKIE_CONF} $@
 elif [ ${COMMAND} == "standalone" ]; then
-  exec ${JAVA} ${OPTS} ${JMX_ARGS} -Dzookeeper.4lw.commands.whitelist='*' org.apache.bookkeeper.stream.cluster.StandaloneStarter --conf ${BK_HOME}/conf/standalone.conf $@
+  exec "${JAVA}" ${OPTS} ${JMX_ARGS} -Dzookeeper.4lw.commands.whitelist='*' org.apache.bookkeeper.stream.cluster.StandaloneStarter --conf ${BK_HOME}/conf/standalone.conf $@
 elif [ ${COMMAND} == "upgrade" ]; then
-  exec ${JAVA} ${OPTS} org.apache.bookkeeper.bookie.FileSystemUpgrade --conf ${BOOKIE_CONF} $@
+  exec "${JAVA}" ${OPTS} org.apache.bookkeeper.bookie.FileSystemUpgrade --conf ${BOOKIE_CONF} $@
 elif [ $COMMAND == "zookeeper" ]; then
     BOOKIE_LOG_FILE=${BOOKIE_LOG_FILE:-"zookeeper.log"}
-    exec $JAVA $OPTS -Dbookkeeper.log.file=$BOOKIE_LOG_FILE org.apache.zookeeper.server.quorum.QuorumPeerMain $BOOKIE_ZK_CONF $@
+    exec "${JAVA}" $OPTS -Dbookkeeper.log.file=$BOOKIE_LOG_FILE org.apache.zookeeper.server.quorum.QuorumPeerMain $BOOKIE_ZK_CONF $@
 elif [ ${COMMAND} == "shell" ]; then
   ENTRY_FORMATTER_ARG="-DentryFormatterClass=${ENTRY_FORMATTER_CLASS:-org.apache.bookkeeper.util.StringEntryFormatter}"
-  exec ${JAVA} ${OPTS} ${ENTRY_FORMATTER_ARG} org.apache.bookkeeper.bookie.BookieShell -conf ${BOOKIE_CONF} $@
+  exec "${JAVA}" ${OPTS} ${ENTRY_FORMATTER_ARG} org.apache.bookkeeper.bookie.BookieShell -conf ${BOOKIE_CONF} $@
 elif [ ${COMMAND} == "help" ]; then
   bookkeeper_help;
 else
-  exec ${JAVA} ${OPTS} ${COMMAND} $@
+  exec "${JAVA}" ${OPTS} ${COMMAND} $@
 fi
 
diff --git a/bin/dlog b/bin/dlog
index 9a9b8f1..1e80db9 100755
--- a/bin/dlog
+++ b/bin/dlog
@@ -113,19 +113,19 @@
 cd "$BK_HOME"
 case "${COMMAND}" in
   local)
-    exec ${JAVA} ${OPTS} ${JMX_ARGS} -Dzookeeper.4lw.commands.whitelist='*' org.apache.distributedlog.LocalDLMEmulator $@
+    exec "${JAVA}" ${OPTS} ${JMX_ARGS} -Dzookeeper.4lw.commands.whitelist='*' org.apache.distributedlog.LocalDLMEmulator $@
     ;;
   tool)
-    exec ${JAVA} ${OPTS} org.apache.distributedlog.tools.Tool org.apache.distributedlog.tools.DistributedLogTool $@
+    exec "${JAVA}" ${OPTS} org.apache.distributedlog.tools.Tool org.apache.distributedlog.tools.DistributedLogTool $@
     ;;
   admin)
-    exec ${JAVA} ${OPTS} org.apache.distributedlog.tools.Tool org.apache.distributedlog.admin.DistributedLogAdmin $@
+    exec "${JAVA}" ${OPTS} org.apache.distributedlog.tools.Tool org.apache.distributedlog.admin.DistributedLogAdmin $@
     ;;
   help)
     dlog_help
     ;;
   *)
-    exec ${JAVA} ${OPTS} ${COMMAND} $@
+    exec "${JAVA}" ${OPTS} ${COMMAND} $@
     ;;
 esac
 
diff --git a/stream/bin/streamstorage b/stream/bin/streamstorage
index ba5becd..a85c6e7 100755
--- a/stream/bin/streamstorage
+++ b/stream/bin/streamstorage
@@ -145,9 +145,9 @@
 #Change to SS_HOME to support relative paths
 cd "$SS_HOME"
 if [ $COMMAND == "standalone" ]; then
-    exec $JAVA $OPTS -Dzookeeper.4lw.commands.whitelist="*" org.apache.bookkeeper.stream.cluster.StandaloneStarter -c $SS_STANDALONE_CONF $@
+    exec "${JAVA}" $OPTS -Dzookeeper.4lw.commands.whitelist="*" org.apache.bookkeeper.stream.cluster.StandaloneStarter -c $SS_STANDALONE_CONF $@
 elif [ $COMMAND == "help" ]; then
     streamstorage_help;
 else
-    exec $JAVA $OPTS $COMMAND $@
+    exec "${JAVA}" $OPTS $COMMAND $@
 fi
diff --git a/stream/bin/streamstorage-cli b/stream/bin/streamstorage-cli
index ea7376e..6a1df78 100755
--- a/stream/bin/streamstorage-cli
+++ b/stream/bin/streamstorage-cli
@@ -108,4 +108,4 @@
 #Change to SS_HOME to support relative paths
 cd "$SS_HOME"
     
-exec $JAVA $OPTS org.apache.bookkeeper.stream.cli.StreamStorageCli "$@"
+exec "${JAVA}" $OPTS org.apache.bookkeeper.stream.cli.StreamStorageCli "$@"