diff --git a/bin/hbase b/bin/hbase index 1369683bbcf..5e2778c05d0 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 [] []" echo "$options_string" echo "" @@ -120,6 +100,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 5c1f1860f53..654a3c98500 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 536b5379b12..3e85ec59fb6 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 fbeb1f8290f..426517cd193 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 ^ 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."