You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by vj...@apache.org on 2020/06/18 10:13:49 UTC

[hbase] branch master updated: HBASE-24550 Passing '-h' or '--help' to bin/hbase doesn't do as expected

This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new f73480f  HBASE-24550 Passing '-h' or '--help' to bin/hbase doesn't do as expected
f73480f is described below

commit f73480febf2862d37af838ef17a7faa8643a5403
Author: WenFeiYi <we...@gmail.com>
AuthorDate: Thu Jun 18 15:34:30 2020 +0530

    HBASE-24550 Passing '-h' or '--help' to bin/hbase doesn't do as expected
    
    Closes #1914
    
    Signed-off-by: Michael Stack <st...@apache.org>
    Signed-off-by: Viraj Jasani <vj...@apache.org>
---
 bin/hbase            | 54 +++++++++++++++++++++++++++++++---------------------
 bin/hbase-config.cmd | 10 +++++++++-
 bin/hbase-config.sh  |  4 ++++
 bin/hbase.cmd        | 10 ++++++++++
 4 files changed, 55 insertions(+), 23 deletions(-)

diff --git a/bin/hbase b/bin/hbase
index f89e564..127fa3c 100755
--- a/bin/hbase
+++ b/bin/hbase
@@ -57,35 +57,15 @@
 bin=`dirname "$0"`
 bin=`cd "$bin">/dev/null; pwd`
 
-# This will set HBASE_HOME, etc.
-. "$bin"/hbase-config.sh
-
-cygwin=false
-case "`uname`" in
-CYGWIN*) cygwin=true;;
-esac
-
-# Detect if we are in hbase sources dir
-in_dev_env=false
-if [ -d "${HBASE_HOME}/target" ]; then
-  in_dev_env=true
-fi
-
-# Detect if we are in the omnibus tarball
-in_omnibus_tarball="false"
-if [ -f "${HBASE_HOME}/bin/hbase-daemons.sh" ]; then
-  in_omnibus_tarball="true"
-fi
-
 read -d '' options_string << EOF
 Options:
   --config DIR         Configuration direction to use. Default: ./conf
   --hosts HOSTS        Override the list in 'regionservers' file
   --auth-as-server     Authenticate to ZooKeeper using servers configuration
   --internal-classpath Skip attempting to use client facing jars (WARNING: unstable results between versions)
+  --help or -h         Print this help message
 EOF
-# if no args specified, show usage
-if [ $# = 0 ]; then
+show_usage() {
   echo "Usage: hbase [<options>] <command> [<args>]"
   echo "$options_string"
   echo ""
@@ -122,6 +102,36 @@ if [ $# = 0 ]; then
   echo "  pre-upgrade      Run Pre-Upgrade validator tool"
   echo "  hbtop            Run HBTop tool"
   echo "  CLASSNAME        Run the class named CLASSNAME"
+}
+
+if [ "--help" = "$1" ] || [ "-h" = "$1" ]; then
+  show_usage
+  exit 0
+fi
+
+# This will set HBASE_HOME, etc.
+. "$bin"/hbase-config.sh
+
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+# Detect if we are in hbase sources dir
+in_dev_env=false
+if [ -d "${HBASE_HOME}/target" ]; then
+  in_dev_env=true
+fi
+
+# Detect if we are in the omnibus tarball
+in_omnibus_tarball="false"
+if [ -f "${HBASE_HOME}/bin/hbase-daemons.sh" ]; then
+  in_omnibus_tarball="true"
+fi
+
+# if no args specified, show usage
+if [ $# = 0 ]; then
+  show_usage
   exit 1
 fi
 
diff --git a/bin/hbase-config.cmd b/bin/hbase-config.cmd
index 5c1f186..654a3c9 100644
--- a/bin/hbase-config.cmd
+++ b/bin/hbase-config.cmd
@@ -33,6 +33,14 @@ if "%1" == "--config" (
   shift
   shift
 )
+if "%1" == "--help" (
+  echo Error usage! You should use it like 'hbase --help' or 'hbase -h';
+  exit /B 2
+)
+if "%1" == "--help" (
+  echo Error usage! You should use it like 'hbase --help' or 'hbase -h';
+  exit /B 2
+)
 
 @rem the root of the hbase installation
 if not defined HBASE_HOME (
@@ -75,4 +83,4 @@ for %%i in (%0) do (
   if not defined HBASE_BIN_PATH (
     set HBASE_BIN_PATH=%%~dpi
   )
-)
\ No newline at end of file
+)
diff --git a/bin/hbase-config.sh b/bin/hbase-config.sh
index 536b537..3e85ec5 100644
--- a/bin/hbase-config.sh
+++ b/bin/hbase-config.sh
@@ -94,6 +94,10 @@ do
     shift
     # shellcheck disable=SC2034
     DEBUG="true"
+  elif [ "--help" = "$1" ] || [ "-h" = "$1" ]
+  then
+    echo "Error usage! You should use it like 'hbase --help' or 'hbase -h'";
+    exit 1
   else
     # Presume we are at end of options and break
     break
diff --git a/bin/hbase.cmd b/bin/hbase.cmd
index fbeb1f8..426517c 100644
--- a/bin/hbase.cmd
+++ b/bin/hbase.cmd
@@ -59,6 +59,15 @@ if "%HBASE_BIN_PATH:~-1%" == "\" (
   set HBASE_BIN_PATH=%HBASE_BIN_PATH:~0,-1%
 )
 
+if "%1" == "--help" (
+  goto :print_usage
+  exit /B 0
+)
+if "%1" == "--help" (
+  goto :print_usage
+  exit /B 0
+)
+
 rem This will set HBASE_HOME, etc.
 set hbase-config-script=%HBASE_BIN_PATH%\hbase-config.cmd
 call "%hbase-config-script%" %*
@@ -448,6 +457,7 @@ goto :eof
   echo where ^<command^> an option from one of these categories::
   echo Options:
   echo   --config DIR    Configuration direction to use. Default: ./conf
+  echo   --help or -h    Print this help message
   echo.
   echo Commands:
   echo Some commands take arguments. Pass no args or -h for usage."